注:模态与非模态对话框区别
如果是模态的,那么弹出后该程序的其它窗口就呈不可用的状态,原来程序暂停执行,直到这个模态窗口关闭后才回到原来程序继续。
非模态的就是直接显示出来,然后原来的程序继续执行下面的语句,而且其它窗口也呈可用状态。
手把手教你建立一个模态对话框(MFC):
1.选择File/New/MFC AppWizard[exe],Project name为Test,单击OK.
2.选择Single document,单击Finish.
3.选择左侧Workspace/ResourceView,在Dialog上单击右键,选择Insert Dialog,默认名字为IDD_DIALOG1.
4.双击右侧工作区中的对话框,弹出一对话框Adding a Class,默认选择Create a new class,单击OK.
5.在对话框New Class中,在Name中填入CDialogproty,Base class选择缺省名字CDialog,单击OK.在MFC ClassWizard
上选择OK.
6.选择左侧Workspace/ClassView,双击CTestView
#include "Dialogproty.h"
class CTestView : public CView
{
protected: // create from serialization only
7.选择左侧Workspace/ResourceView/Menu,双击IDR_TESTTYPE,在右侧工作区上方,"帮助(H)"后双击,弹出对话框
Menu Item Properties,点击General/Pop-up,选为非选择状态,在ID内输入IDR_TEST,Caption中输入Test,关闭对话
框Menu Item Properties,
8.在按钮Test上点击右键,选择ClassWizard...,在Messages中选择COMMAND,点击Add Function...,弹出对话框Add
Member Function,点击OK,选择Edit Code.
9.在以下函数中添加代码
void CTestView::OnTest()
{
// TODO: Add your command handler code here
CDialogproty dlg;
dlg.DoModal();
}
10.编译,运行。点击菜单按钮Test,OK!完成!