一、模态下
在以项目文件名命名的.cpp 文件中(如try.cpp)引入包含要显示的对话框信息的头文件(Dialog1.h)
#Include "Dialog1.h"
然后在IntilInstance() 中新建一个 Dialoag1 的变量,最后用DoModal()显示
CDialog1 dlg1; //建立的与IDD_Dialog1相关的类为 CDialog1
dlg1.DoModal();
二、非模态下
同样在IntilInstance() 中
CDialog *dlg1=new CDialog;
dlg1->Create(IDD_Dialog1);
dlg1->ShowWindow(SW_SHOW);
如果是在主窗体前先显示对话框然后再根据对话框返回的信息确定是否打开住窗体的话用方式一比较好此方法不会将主窗体和对话框同时显示。否则的话(即方式二)会对话框和主窗体一起显示。
若要在点击取消键后不显示主框架则要做如下的处理:
CDialog1 dlg1;
if(IDOK==dlg1.DoModal())
/*就是表示IDD_Dialog1这个对话框你是按OK或者确定结束,使它关闭的话,DoModal函数返回的就是IDOK这个宏.*/
/*把IDOK写在前面,是为了防止程序员粗心大意,把==写成=.这样把常量写在前面,就算写成了=,编译时就会出错,容易让程序员发现. */
{
//添加要做的动作等的代码 如:
// The main window has been initialized, so show and update it.
pMainFrame->ShowWindow(m_nCmdShow);
pMainFrame->UpdateWindow();
}
else
{
return FALSE;
}