CDockablePane в качестве документа с вкладками не отправляет WM_SETFOCUS или WM_MDIACTIVATE
У меня есть класс, полученный из CDockablePane. Мне нужно что-то сделать, когда представление сфокусировано, поэтому я обрабатываю WM_SETFOCUS, и все это работает прекрасно в большинстве случаев.
Но когда панель закреплена в режиме документа с вкладками (TDI) и пользователь активирует ее, WM_SETFOCUS не вызывается.
Я использовал Spy и заметил, что сообщение WM_MDIACTIVATE отправляется в родительское окно панели.
Однако если я обработаю WM_MDIACTIVATE внутри панели или внутри мэйнфрейма, он также не будет вызван.
Любые идеи, что мне нужно обрабатывать?
1 ответ
Возможно, вам придется унаследовать класс фрейма и инициировать отправку настраиваемого сообщения вашим представлениям, когда фрейм получит WM_MDIACTIVATE.