MFC笔记之模态对话框和非模态对话框

迫于科研的进度压力,我还是选择了MFC最为工具去开发设备调试软件,最初想用Qt来创新一下,然而串口的通信一直没有成功,而且周围没有人用Qt使得我在遇到问题无法快速的解决,最终我屈服于现实了.
今天开始速食MFC,其实也很简单,就是感觉没有Qt好用.

1.建立模态对话框

步骤:

  1. 新建对话框窗口,更改ID
  2. 右键添加类
  3. 在主对话框中添加消息响应函数
  4. 在此函数中新建类对象dlg,dlg.doModal()
void CMFCdemo1Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
//阻塞
CDlgExp dlg;
dlg.DoModal();

}

2.建立非模态对话框

步骤:

  1. 前面同理
  2. 在主对话框类中声明私有成员变量
  3. 在初始化对话框函数(oninitDialog)中创建对话框dlg.Create(ID),保证之创建一次
  4. 最后在消息响应函数中添加dlg.ShowWindow(WM_SHOWNORMAL);
void CMFCdemo1Dlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
//CDlgShow dlg;
//创建
//dlg.Create(IDD_DIG_SHOW);//创建窗口只能创建一次,多次就会崩掉
//显示
dlg.ShowWindow(SW_SHOWNORMAL);
}

MFC中的模态对话框和非模态对话框_非模态对话框