![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Встал вопрос перехвата нажатых клавиш в диалоге. Проблема состоит в том, что необходимо перезватить нажатия клавиш, которые посылаются всем компонентам диалога. Тоесть нам все равно, какой компонент в фокусе: толи Edit, толи RichEdit and so on, а мы получаем все нажатия клавиш. Тоесть например в Delphi есть свойство KeyPreview, которое реализует подобное. Как мне сделать такое же. Можно конечно хук поставить, но очень не хочется. Может есть иные методы...
-------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| Aleksandor |
|
|||
|
Практик ![]() ![]() Профиль Группа: Участник Сообщений: 272 Регистрация: 22.11.2005 Где: россия, зеленогра д Репутация: 10 Всего: 12 |
А WM_KEYUP/ WM_KEYDOWN не ловятся?
-------------------- Call out Gouranga be happy!!! Gouranga Gouranga Gouranga .... That which brings the highest happiness!! |
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Не, в очереди сообщений Диалога, они не ловятся... -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 1 Всего: 23 |
А переопределить оконную процедуру?
|
|||
|
||||
| devmstr |
|
|||
![]() Developer ![]() ![]() Профиль Группа: Участник Сообщений: 879 Регистрация: 28.4.2004 Где: Ukraine Репутация: нет Всего: 11 |
Кого? Всех компонентов?? Ну тогда намного проще(быстрее и короче) использовать хук... -------------------- Think different ©Steve Jobs ![]() |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Не поможет. Сообщения клавиатуры посылаются тому окну, которое в фокусе. Либо хук, либо вставлять специальную процедуру типа PreTranslateMessage в главный цикл обработки сообщений. Но! при этом придется модальный цикл диалога ручками писать, а не пользоваться готовым (который спрятан в DialogBox). Именно так сделано в MFC, и в Дельфи, наверняка, тоже. -------------------- ... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |