注:模态与非模态对话框区别
如果是模态的,那么弹出后该程序的其它窗口就呈不可用的状态,原来程序暂停执行,直到这个模态窗口关闭后才回到原来程序继续。
非模态的就是直接显示出来,然后原来的程序继续执行下面的语句,而且其它窗口也呈可用状态。
手把手教你建立一个模态对话框(MFC):
1.选择File/New/MFCAppWizard[exe],Projectname为Test,单击OK.
2.选择Singledocument,单击Finish.
3.选择左侧Workspace/ResourceView,在Dialog上单击右键,选择InsertDialog,默认名字为IDD_DIALOG1.
4.双击右侧工作区中的对话框,弹出一对话框AddingaClass,默认选择Createanewclass,单击OK.
5.在对话框NewClass中,在Name中填入CDialogproty,Baseclass选择缺省名字CDialog,单击OK.在MFCClassWizard
上选择OK.
6.选择左侧Workspace/ClassView,双击CTestView
#include"Dialogproty.h"
classCTestView:publicCView
{
protected://createfromserializationonly
7.选择左侧Workspace/ResourceView/Menu,双击IDR_TESTTYPE,在右侧工作区上方,"帮助(H)"后双击,弹出对话框
MenuItemProperties,点击General/Pop-up,选为非选择状态,在ID内输入IDR_TEST,Caption中输入Test,关闭对话
框MenuItemProperties,
8.在按钮Test上点击右键,选择ClassWizard...,在Messages中选择COMMAND,点击AddFunction...,弹出对话框Add
MemberFunction,点击OK,选择EditCode.
9.在以下函数中添加代码
voidCTestView::OnTest()
{
//TODO:Addyourcommandhandlercodehere
CDialogprotydlg;
dlg.DoModal();
}
10.编译,运行。点击菜单按钮Test,OK!完成!