Я перехожу из OWL. Я создал класс диалога с именем TDialog
, наследующим от CDialog
, и я переопределяю OnWndMsg
, чтобы разрешить обработку событий OWL также рядом с MFC. OWL использует таблицу ответов (другая форма карты сообщений - спецификация OWL), в то же время я вызываю метод базы CWnd::OnWndMsg
. Проблема в том, что все элементы управления в диалоговом окне не видны до тех пор, пока мышь не переместится над ними или не сведёт к минимуму диалог, а затем восстановит его, тогда все элементы управления будут перерисованы.MFC Controls on Dialog не отображаются до тех пор, пока мышь не переместится над ними.
Другая проблема заключается в том, что при нажатии кнопки OK [Id = IDOK] диалог закрывается, но генерируется исключение. Я думаю, это потому, что мы обработали сообщение дважды, чтобы дескриптор мог быть закрыт.
Каков наилучший способ обработки сообщения несколько раз в таком случае?