MFC建立模态对话与非模态对话框
1、资源视图中新建对话框IDD_DIALOG1,修改ID为DD_DIALOG1,在窗口中添加Static Text控件,修改ID为IDC_TEXT;
2、将IDD_DIALOG1建立为类,类名CDlgMdMI,继承于CDialog;将IDC_TEXT添加公有变量,变量名设置为m_pText
3、主菜单IDR_MAINFRAME建立子菜单“模态对话框”、“非模态对话框”,ID分别设置为
ID_DIALOG_MODAL、ID_DIALOG_MODALLESS
4、为ID_DIALOG_MODAL、ID_DIALOG_MODALLESS在CMainFrame中添加事件处理程序
5、添加代码
void CMainFrame::OnDialogModal()
{
// TODO: 在此添加命令处理程序代码
CDlgMdMl modeDialog;//新增对话框类,实例化对话框
modeDialog. m_pText="当前是模态对话框";
modeDialog.DoModal();//建立并显示对话框
}
void CMainFrame::OnDialogModalless()
{
// TODO: 在此添加命令处理程序代码
CDlgMdMl*modelessDialog;//new一个新对象
modelessDialog=new CDlgMdMl(this);
modelessDialog->m_pText="当前是非模态对话框";
modelessDialog->Create(IDD_DIALOG1);//create一个新对象
modelessDialog->ShowWindow(SW_RESTORE);//显示非模态对话框
}
6、在CMainFrame中包含头文件
#include "DlgMdMl.h"
7、显示效果