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

来源:互联网 发布:淘宝店铺导航联盟 编辑:程序博客网 时间:2024/05/16 10:52

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调试:

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



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



原创粉丝点击