Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка нажатий клавиш в диалоге, как ловить 
V
    Опции темы
deniska
Дата 11.2.2008, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 398
Регистрация: 1.7.2005
Где: Троицк

Репутация: 1
Всего: 0



Ситуация следующая:
есть dialog-based приложение в InitDialog которого создается сначала объект CFrameView потом его child CSplitterWnd, который разбивается на 2-4 панели, которые можно изменять в размерах. (такой способ создания сплиттеров в диалоге нарыл где-то в инете). 

сейчас нужно, чтобы независимо от того какая из панелей активна, приложение могло перехватывать нажатие клавиш( интересуют буквы, цифры и стрелки ). 

Собственно хотелось чтобы прехваты "стекались" в 1 какой-либо обработчик, любого окна приложеня. Пока получается вот что: на одной из панелей располагаю за областью рисования свой Cedit, который обрабатывает WM_GETDLGCODE() и возвращает DLGC_WANTARROWS. 

При получении эдитом нужных мне кодов клавиш, посылаю родителю сообщение WM_KEYDOWN. этот способ работает только при установленном курсоре в эдите. Можно конечно в конце всех обработчиков, всех окон устанавливать курсор на этот эдит, но как то способ мне кажется кривоват. Есть ли какие-нибудь альтернативы?
PM MAIL ICQ   Вверх
Earnest
Дата 11.2.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Переопредели на диалоге PreTranslateMessage и лови там.


--------------------
...
PM   Вверх
deniska
Дата 11.2.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 398
Регистрация: 1.7.2005
Где: Троицк

Репутация: 1
Всего: 0



все так просто? завтра попробую...

Это сообщение отредактировал(а) deniska - 14.2.2008, 09:35
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.