模态:在该窗口弹出后,会阻塞应用程序的窗口,使其不可操作;
非模态:不会阻塞应用程序的窗口,两者可独立操作
模态对话框
功能:点击提示框按钮弹出新建的对话框
1.导入新对话框类
个人认为最好在主对话框的头文件中导入
2.
示例工程下载:链接:https://pan.baidu.com/s/1UVVZoD0doh6jL18rQPuQQQ 提取码:6666
非模态对话框
容易犯的错误
创建的对话框会一闪而过:原因dlg是局部变量(在栈中申请的内存),对话框显示后,按钮函数OnBnClickedButton1马上结束,dlg被销毁了
正确方法
dlg对话框在堆中申请内存即可
方法一:全局变量
到这一步:运行程序,第一次点击运行 正常,关闭后 第二次点击会 弹出错误对话框
原因:每次单击都会调用 Create函数,该函数是初始化函数,会创建一个非模态对话框(一个对象只对应一个对话框,即一个对象只初始化一次),多次调用 Create 函数会导致程序崩掉
解决办法把 Create函数 放到主窗口类的初始化函数中,就不会重复创建
示例工程下载:
链接:https://pan.baidu.com/s/1aiUGSmRxTcfUR8uidTNKkw 提取码:6666
方法二:new
出现的问题与全局变量类似
方法三:malloc