vc1200I_eg235:模态和非模态对话框的建立
其实,vc中的对话框本身没有“模态”和“非模态”之分,它们是在实例化对话框时区分开的。
本例中,ModeDlg是一个对话框,供主对话框调用。
以模态方式调用对话框:
void CTest4VC1200Dlg::OnClickedBtn1()
{
// TODO: 在此添加控件通知处理程序代码
ModeDlg dlg;
dlg.DoModal();
}
以非模态方式调用对话框:
void CTest4VC1200Dlg::OnBnClickedBtn2()
{
// TODO: 在此添加控件通知处理程序代码
ModeDlg* pDlg=new ModeDlg();
pDlg->Create(IDD_DLG_MODE,this);/*IDD_DLG_MODE:ModeDlg类所关联的对话框ID,this:hwndParent*/
pDlg->ShowWindow(SW_SHOW);
}
效果:

图1 主对话框的界面

图2 模态对话框效果

图3 非模态对话框效果

浙公网安备 33010602011771号