Frame 消息:
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
ON_WM_CREATE()
ON_COMMAND(ID_DIALOG_EXEC, &CMainFrame::OnDialogExec)
ON_COMMAND(ID_DIALOG_SHOW, &CMainFrame::OnDialogShow)
ON_COMMAND(ID_DIALOG_32773, &CMainFrame::OnDialog32773)
END_MESSAGE_MAP()
头文件:
private:
CDialog dlg;
OnCreate:
dlg.Create(IDD_DIALOG2); // dlg Create
ON_COMMAND:
// 模态对话框
void CMainFrame::OnDialogExec()
{
// 创建对话框
CDialog dlg_(IDD_DIALOG1);
// 运行
dlg_.DoModal(); // 阻塞
}
// 非模态对话框
void CMainFrame::OnDialogShow()
{
//CDialog dlg; // 用成员变量,不然释放掉
//dlg.Create(IDD_DIALOG2); // 只能创建一次,所以放在在Oncreate里面去
dlg.ShowWindow(SW_SHOWNORMAL);
}
void CMainFrame::OnDialog32773()
{
// 在此添加命令处理程序代码
MyDialog my_dlg;
my_dlg.DoModal();
}
▲ 添加 MFC 类