WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  прога закрывается...

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   прога закрывается...
reporter опубликован 20-01-2002 15:28 MSK   Click Here to See the Profile for reporter   Click Here to Email reporter  
наверное, замучил всех этим вопросом долбать...
стандартный диалог на MFC закрывается по ескейпу, по ентеру... Это все ерунда, люди помогли, врубился. И только что сейчас обнаружил, что и Alt-X и Ctrl-X тоже закрывают... Что за ерунда... И вот он старый вопрос: читая клаву, т.е. OnKeyDown(), сообщение WM_KEYDOWN доходит до меня только если на форме нет ни одной кнопки. Отсюда следует, что сообщение от клавы идет элементу с фокусом. Как же тогда читать клавиатуру ?
reporter опубликован 20-01-2002 21:17 MSK     Click Here to See the Profile for reporter  Click Here to Email reporter     
слишком дурацкий вопрос или я что-то не так объяснил ? Плз, хоть какой-нибудь комментарий...
Muran опубликован 20-01-2002 22:14 MSK     Click Here to See the Profile for Muran  Click Here to Email Muran     
А ты попытайся перехватить сообщение до того, как оно доходит до формы, например переопредели виртуальную функцию OnKeyDown в классе CDialog или CWinApp
reporter опубликован 21-01-2002 03:20 MSK     Click Here to See the Profile for reporter  Click Here to Email reporter     
блин, или я непроходимо туп, или просто опыта мало, но ни хрена у меня не выходит. У CWinApp вообще нет OnKeyDown, а в CMyDlg (который от CDialog унаследован) как ни пытался переопределять OnKeyDown, ничего не выходит. Может, кусок кода не трудно написать, что к чему... спасибо заранее
Glite опубликован 21-01-2002 03:51 MSK     Click Here to See the Profile for Glite  Click Here to Email Glite     
Функция PreTranslateMessage у диалога. В неё приходят все сообщения до обработки message map'а.
Когда диалог закрывается ему приходят сообщения WM_CLOSE и WM_DESTROY, и ещё можешь юзать DestroyWindow - она из DoModal вызывается.
reporter опубликован 21-01-2002 04:02 MSK     Click Here to See the Profile for reporter  Click Here to Email reporter     
Неее-ее, мне не надо вообще запрещать закрытие окна, а только чтоб оно закрывалось по саец. кнопке. Вообще, теперь для меня главное все-таки выяснить, как, что и где мне переопределить, чтоб нормально получать сообщения от клавиатуры. Я думаю, то, что подсказал Muran, должно работать, только я видимо, что-то неправильно делаю...
reporter опубликован 21-01-2002 04:04 MSK     Click Here to See the Profile for reporter  Click Here to Email reporter     
черт, сплю уже...
вместо "саец. кнопке" читать "спец. кнопке" :-)
necer опубликован 21-01-2002 10:46 MSK     Click Here to See the Profile for necer  Click Here to Email necer     
PreTranslateMessage
Нажатия клавиш лови.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.