版权声明: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); //显示非模态对话框