Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > MDI, VIEW, WM_LBUTTONDOWN


Автор: Madest 6.7.2004, 11:02
Как сделать чтобы обликом обрабатывалось сообщение WM_LBUTTONDOWN не только при нажатии в клиентской области окна но и на Title Bar?

Автор: chipset 6.7.2004, 11:11
Первое что приходит в голову это отлавливать WM_LBUTTONDOWN в CMainFrame, второй вариант отлавливать WM_NCHITTEST или WM_NCLBUTTONDOWN и смотреть что за хэндел под мышкой.

Автор: Madest 6.7.2004, 11:27
MainFrame не реагирует, а про второй вариант нельзя ли поподробней?
Вообще, вот в чем проблема:
Тыкаю на облик, документ его становится активным и делаю активным тулсовский немодальный диалог этого документа через обработку сообщения WM_LBUTTONDOWN. А если ткнуть на тайтл бар - документ становится активным, но сообщение от мыши не обрабатывается и немодальный диалог висит от предыдущего документа. Естесственно, ткнув на controls диалога программа вылетает.

Автор: AndyY 6.7.2004, 12:39
правильней обрабатывать событие активизации документа.
WM_MDIACTIVATE во фрейме (CMDIChildWnd)
а вылетать прога не должна вовсе, на крайняк менять свойства в неактивном доке.

Автор: Madest 6.7.2004, 12:55
Спасибо!

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