Я видел так много постов о том, как запретить escape-ключ закрывать CDIalog, но в моем случае я хочу закрыть диалог, но это не так.
Я создал образец приложения MFC Dialog, которое добавляет страницу свойств и 2 страницы свойств. Я пытался поместить pretranslatemessage, OnCancel, KillFocus переопределяет на страницы свойств и диалог, но это не получилось.
Используется следующий код:
#include "proppage1.h"
#include "proppage2.h"
#include "mySheet.h"
// ......
protected:
// proppage1,proppage2 are the class dervied from CPropertyPage
proppage1 pg1;
proppage2 pg2;
// mySheet is the class dervied from CPropertySheet
mySheet *m_sheet;
В CMFCDlg :: OnInitDialog () MFCDlg.CPP
m_sheet = new mySheet(L"mySheet",this,0);
m_sheet->AddPage(&pg1);
m_sheet->AddPage(&pg2);
m_sheet->Create(this, WS_CHILD | WS_VISIBLE , 0);
m_sheet->ModifyStyleEx (0, WS_EX_CONTROLPARENT);
m_sheet->ModifyStyle( 0, WS_TABSTOP );
Я не получаю никаких событий на страницах свойств и в диалоге.
Если я размещу некоторые элементы управления на страницах свойств, то события запускаются и могут отслеживаться на страницах свойств.
Тем не менее, в другом случае, почему не сработают Esc и другое событие?
Пожалуйста, предложите?
Спасибо,
Нихилу