|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 16, 2003 01:38:08 Вот как я делаю: myproc PROC hDlg:DWORD, wMsg:DWORD, wParam:DWORD, lParam:DWORD .if wMsg==WM_INITDIALOG ; ......... .elseif wMsg==WM_VKEYTOITEM nop ; на этот nop я ставлю бряк .else xor eax, eax ret .endif xor eax, eax inc eax ret myproc endp в результате ловятся все нажатия кроме Enter, Tab и Escape |
|
|
Дата: Сен 16, 2003 01:42:27 Стили ListBox'a: WS_CHILD, WS_WISIBLE, WS_HSCROLL, WS_TABSTOP, LBS_NOTIFY и LBS_WANTKEYBOARDINPUT |
|
|
Дата: Сен 16, 2003 05:03:31 У тебя диалог что-ли? |
|
|
Дата: Сен 16, 2003 06:31:26 The Svin WM_INITDIALOG фигурирует неспроста ;) Sk. Inc. Enter, Tab, Esc и некоторые другие комбинации обычно перехватывает диалог, т.е. контрол об этом даже не узнаёт. После нажатия на ENTER обработчик диалога должен получить WM_COMMAND. wParam == IDOK или Id дефолтовой кнопки. В MSDN это описано более детально. |
|
|
Дата: Сен 16, 2003 06:51:39 Перехватить WM_COMMAND wParam=ID_OK и проверить где фокус. Если ListBox - обработать. |
|
|
Дата: Сен 16, 2003 06:56:17 Или субклассировать ListBox и обработать WM_GETDLGCODE. |
|
|
Дата: Сен 16, 2003 14:10:23 Sk. Inc. для Subclassинга SetWindowLong функция кажется... |
|
|
Дата: Сен 16, 2003 14:36:01 Quantum Спасибо, что про дефолтовую кнопку напомнил - это то, что и было надо. Теперь все круто. All Огромная благодарность всем за полезные советы. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.060 |