现在的位置: 首页 > 综合 > 正文

0001-MFC–对话框模态与非模态

2017年12月03日 ⁄ 综合 ⁄ 共 588字 ⁄ 字号 评论关闭

0001-MFC--对话框模态与非模态  


1.我们先建立一个基于对话框的应用DWin1  (我的IDE是Visual Stdio 2008)

    建立后App向导会自动生成工程,工程中会自动生成一个CDWin1Dlg的对话框,是应用的主窗口


2.打开资源视图,在里面找到CDWin1Dlg,在里面加入2个按钮-----模态显示与非模态显示,如下图:



3.把要显示的窗口建出来

   在应用中建立2个对话框类:分别是CModelDlg与CNoModelDlg(建立类后会自动在资源里添加对应的对话框)


4.在里加入新建的两个对话框的的声明

CModelDlg m_modelDlg;
CNoModelDlg m_noModelDlg;

CDWin1Dlg里的模态与非模态的两个按钮添加点击事件的相应代码:


void CDWin1Dlg::OnBnClickedButton1()
{
	m_modelDlg.DoModal();
}


void CDWin1Dlg::OnBnClickedButton2()
{       m_noModelDlg.Create(IDD_NOMODELDLG);
	m_noModelDlg.ShowWindow(SW_SHOW);
}

按Ctrl+F5调试:

模态的显示界面(模态的窗口会盖住主窗口,此时的主窗口无法点击)


非模态的显示界面(非模态的窗口也会盖住主窗口,但是此时的主窗口可以被操作,能被点击和移动)



抱歉!评论已关闭.