MFC中 非模态对话框如何创建和显示?
展开全部
void
cmyview::onshow()
{
//
todo:
add
your
command
handler
code
here
cdialog1
dlg;
dlg.create(idd_dialog1)
;
dlg.showwindow(sw_show);
}
作为非模态对话框,你定义的dlg是一个局部对象,那么执行完dlg.showwindow(sw_show);后一到}符号处onshow()函数结束,dlg这个局部对象的生命周期也到了,系统会随之把为dlg所关联的对话框资源也销毁,所以你看不到对话框显示,你把dlg改变成cmyview的类成员变量来定义就好了
cmyview::onshow()
{
//
todo:
add
your
command
handler
code
here
cdialog1
dlg;
dlg.create(idd_dialog1)
;
dlg.showwindow(sw_show);
}
作为非模态对话框,你定义的dlg是一个局部对象,那么执行完dlg.showwindow(sw_show);后一到}符号处onshow()函数结束,dlg这个局部对象的生命周期也到了,系统会随之把为dlg所关联的对话框资源也销毁,所以你看不到对话框显示,你把dlg改变成cmyview的类成员变量来定义就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询