Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с перехватом нажатия клавиш

318
28 мая 2007 года
nof
193 / / 03.04.2006
Народ, тут такая проблема.
Есть приложение с табами!
В обработчике главного окна перехватываю нажатия клавиш через:

BOOL CRMainDlg::PreTranslateMessage(MSG* pMsg) {

if(pMsg->message == WM_KEYDOWN ) {
.................

Если просто ставить обработчик на WM_KEYDOWN - почему-то нажатия вообще не перехватывались.
Так вот, когда запускаю окно, нажатия отлично перехватываются, но стоит лишь мышкой кликнуть на таб, всё. Нажатия на клавиши перестают перехватываться.
Я подозреваю, что это из-за того, что таб становится активным - а там свои диалоги, свои обработчики. Так вот как сделать так, чтобы нажатия обрабатывались безусловно главным окном, а не табовыми диалогами?
8.9K
28 мая 2007 года
Kap
77 / / 10.09.2006
Приходит в голову одна интересная мысль- а ты во всех диалогах напиши этот обработчик... Или поставь хук для приложения. Это точно поможет.В каком бы окне программы ты не нажимал таб, обработка все равно будет вестись одной и той же функцией.
318
29 мая 2007 года
nof
193 / / 03.04.2006
Цитата: Kap
Приходит в голову одна интересная мысль- а ты во всех диалогах напиши этот обработчик... Или поставь хук для приложения. Это точно поможет.В каком бы окне программы ты не нажимал таб, обработка все равно будет вестись одной и той же функцией.


а по подробнее?)

255
29 мая 2007 года
Dart Bobr
1.4K / / 09.04.2004
имхо легче ручками фокус переставить куда нада ..
318
29 мая 2007 года
nof
193 / / 03.04.2006
Цитата: Dart Bobr
имхо легче ручками фокус переставить куда нада ..


в смысле?

8.9K
29 мая 2007 года
Kap
77 / / 10.09.2006
Подробнее- SetWindowsHookEx. В MSDN преподробненько написано как работать с этой функцией. А если лень смотреть в мануал- то на этом форуме полно тем про хуки. А насчет ручками переставлять- мне влом учить мфц только из- зи того, чтобы по- человечески написать одну программу =). IMHO лучше задействовать уже известные API.
318
30 мая 2007 года
nof
193 / / 03.04.2006
Цитата: Kap
Подробнее- SetWindowsHookEx. В MSDN преподробненько написано как работать с этой функцией. А если лень смотреть в мануал- то на этом форуме полно тем про хуки. А насчет ручками переставлять- мне влом учить мфц только из- зи того, чтобы по- человечески написать одну программу =). IMHO лучше задействовать уже известные API.


Благодарю!
SetWindowsHookEx действительно оказался отличным выходом.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог