Мы все с вами как-то модальный диалог использовали, но есть ряд задач где нужен немодальный. Итак, создаем шаблон и класс. Я кнопку вызова диалога привяжу к событию в классе рамки окна. Подключаем описание класса и создаем объект.
#include "MyDialog.h" class CMainFrame : public CFrameWnd { protected: // create from serialization only CMainFrame(); DECLARE_DYNCREATE(CMainFrame) CMyDialog cm; // Attributes public: ...... };
Теперь нам диалог нужно создать. Воспользуемся функцией OnCreate():
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { ........ EnableDocking(CBRS_ALIGN_ANY); DockControlBar(&m_wndToolBar); cm.Create(IDD_MYDIALOG_DIALOG,this); return 0; }
Вот и все. Осталось при выборе меню его показывать:
void CMainFrame::OnTestTest() { cm.ShowWindow(SW_SHOW); }
Запускаем, выбираем пункт меню: