Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > обработка сообщений windows


Автор: ohucheni 23.12.2009, 20:10
Доброго времени суток! smile 
Возникло затруднение я создал простое однооконное приложение visual C++ 6.0 через mfc мастер и добавил к окну меню.
а теперь к этой программе надо обработать сообщение wm-paint и добавить для обработки этого сообщения горячую клавишу. видел похожие примеры но в них программа написана исходным текстом "с нуля", а у меня мастер при этом создал исходник и еще много разных файлов с кодом программы. подскажите как в этом случае сделать эту задачу? smile 
с wm_paint пойдет какой нибудь самый простейший пример)

Автор: Earnest 24.12.2009, 10:30
Цитата(ohucheni @  23.12.2009,  21:10 Найти цитируемый пост)
а теперь к этой программе надо обработать сообщение wm-paint и добавить для обработки этого сообщения горячую клавишу

Может, добавить горячую клавишу для генерации сообщения WM_PAINT? Потому что обработка WM_PAINT - это просто рисование того, что тебе нужно в окне.
Чтобы обработать сообщение WM_PAINT в MFC-окно нужно добавить в класс обработчик WM_PAINT (OnPaint) и вставить в карту сообщений ON_WM_PAINT(). Ну и написать там что-нибудь полезное.
А чтобы вызвать перерисовку, нужно для окна вызвать Invalidate(), и сделать это нужно в обработчике горячей клавиши.
Под обработкой "горячей клавиши" можно понимать разные вещи: просто ловить WM_CHAR или WM_KEYDOWN, определить акселератор и и тогда нужно написать обработчик соответствующей ему команды, или зарегистрировать системную горячую клавишу (RegisterHotKey). 

Тебе нужно почитать какие-нибудь first steps про MFC, иначе будешь методом тыка еще лет 10 учиться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)