MFC对话框

版权声明:K5出品,必属精品,欢迎收藏评论 https://blog.csdn.net/a694861283/article/details/88179242

1.对话框的分类

Windows的对话框分为两类:模态对话框和非模态对话框

模态对话框:当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框相应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互

非模态对话框:当它弹出后,本程序其他窗口仍能响应用户输入,非模态对话框一般用来显示提示信息等

2.弹出模态对话框

弹出对话框比较关键的一个函数就是对话框类的DoModal(),它可以用来显示一个模态对话框.其返回值对应于用来关闭对话框的控件ID.(要显示一个非模态对话框,可以用Create()来代替DoModal())

//DoModal()调用层次
CMyDialog::DoModal()
    CMyDialog::OnInitDialog()
        CDialog::OnInitDialog()
            CWnd::UpdateData(false)
                CMyDialog::DoDataExchange()
//Example
void CTestDlg::OnBnClickedBtnAdd(){
    
    INT_PTR nRes;  //用来保存DoModal函数的返回值

    CTestDlg testDlg;
    nRes=testDlg.DoModal();    //弹出对话框
    if(IDCANCEL==nRes)
        return;

}

3.弹出非模态对话框

//Example

CDiglog7* dlg7=new CDiglog7;  //创建非模态对话框实例
dlg7->Create(IDD_DIALOG7,this);
dlg7->ShowWindow(SW_SHOW);  //显示非模态对话框

猜你喜欢

转载自blog.csdn.net/a694861283/article/details/88179242