MFC创建非模态对话框

操作步骤

1、参考模态对话框的操作步骤

说明

最后一步不同,添加的代码不一样

2、添加弹出模态对话框代码

MFC创建非模态对话框_第1张图片

引出问题

图中在单击按钮后,会弹出一个对话框,但会一闪而过

原因

对象abc在栈上,该消息处理函数调用结束返回后,对象abc销毁,也即非模态对话框销毁

解决办法

创建为全局变量或定义到该按钮所属类中(作为该类的成员变量)

引出问题

按照上例方式,解决上面的问题后,有产生一个问题(每次单击都会调用 Create函数)

说明

该函数是初始化函数,会创建一个非模态对话框(一个对象只对应一个对话框,即一个对象只初始化一次)

提示

多次调用 Create 函数会导致程序崩掉

3、最终实现代码添加参考图

MFC创建非模态对话框_第2张图片

 

MFC创建非模态对话框_第3张图片

 

MFC创建非模态对话框_第4张图片

 

MFC创建非模态对话框_第5张图片

 

 

你可能感兴趣的:(MFC)