Armenian Knowledge Base  

Go Back   Armenian Knowledge Base > Technical sections > Languages, Compilers, Interpreters
Register

Reply
 
LinkBack Thread Tools
Old 29.08.2002, 20:31   #1
Школьник
 
Join Date: 05 2002
Location: Yerevan
Posts: 202
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post Вопрос к знатокам MFC

Значится так:

имеем Dialog-based application
в нем всего один СEdit и одна кнопка

необходимо
в процессе работы приложения перехватывать все клавиши, то есть когда окно открыто то ни одна системная клавиша работать не должна, я имею в виду например клавишу WIN

Если с клавишами альт-ф4 и эскейп все решается просто - ставится обработчик на события OnClose и OnDestroy, то со всем остальным сложно. Обработчик OnKeyDown на основной форме работает только когда у меня нету CButton, в противном случае сообщение не ловится, так как фокус стоит на этой кнопке....

В общем, если запутанно объяснил, прошу прощения, если что - могу уточнить....
Reply With Quote
Old 29.08.2002, 21:58   #2
Грустно...
 
Agregat's Avatar
 
Join Date: 08 2002
Location: Там, где всегда идут дожди
Age: 35
Posts: 21,717
Downloads: 2
Uploads: 0
Reputation: 250 | 7
Post

Советую перехватывать PreTranslateMessage()
там смотришь

if (msg->message == WM_KEYDOWN)
{
//тута смотришь все свои параметры и если не хочешь обраратывать возвращаешь FALSE, по моему
посмотри в MSDN.
}
Reply With Quote
Old 30.08.2002, 01:07   #3
Академик
 
W_z_rd's Avatar
 
Join Date: 08 2002
Location: Yerevan, Armenia
Age: 45
Posts: 4,854
Downloads: 1
Uploads: 0
Reputation: 225 | 4
Post

Chto znachit - okno otkrito ? Nado potochnee formulirovat` zadachu. Esli okno otkrito i aktivno ? Togda - PreTranslate, kak bilo skazano, a esli prosto otkrito - togda tol`ko hook na klaviaturu.
Reply With Quote
Old 30.08.2002, 03:47   #4
Школьник
 
Join Date: 05 2002
Location: Yerevan
Posts: 202
Downloads: 0
Uploads: 0
Reputation: 0 | 0
Post

Спасибо за ответ.... Попробую, посмотрим что получится...
Reply With Quote
Sponsored Links
Reply

Thread Tools


На правах рекламы:
реклама

All times are GMT. The time now is 17:26.


Powered by vBulletin® Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.