急非模态对话框的创建,第二次显示出错!该如何解决
急!非模态对话框的创建,第二次显示出错!!!
我在View类中创建一个非模态对话框。刚开始用
CMyDialog* pDlg = new CMyDialog();
然后pDlg-> Create(IDD_DIALOG);
pDlg-> ShowWindow(SW_SHOW);
完全没问题,一切正常。
可后来老师要求说,不要用这个,在View中定义一个MyDialog的成员变量dlg
然后用dlg显示。
我就dlg.Create和dlg.ShowWindow
可是每次显示一次可以,第二次就弹个错误,显示不了了。
为什么呢?我该怎么办啊??
请高手指点指点。感谢感谢很感谢
------解决方案--------------------
可以这样:dlg.DoModal()
------解决方案--------------------
结束时调用一下
CWnd::DestroyWindow
------解决方案--------------------
第二次不能在 create 了,因为已经创建过了
可以在create时这样写代码
if(!dlg)
dlg.Create(...)
就不会出错了
------解决方案--------------------
to PentiumMMX()
if(!dlg)
dlg.Create(...)
你在仔细看看
------解决方案--------------------
我 支持
CWnd::DestroyWindow
但是 是放在Create之前
我在View类中创建一个非模态对话框。刚开始用
CMyDialog* pDlg = new CMyDialog();
然后pDlg-> Create(IDD_DIALOG);
pDlg-> ShowWindow(SW_SHOW);
完全没问题,一切正常。
可后来老师要求说,不要用这个,在View中定义一个MyDialog的成员变量dlg
然后用dlg显示。
我就dlg.Create和dlg.ShowWindow
可是每次显示一次可以,第二次就弹个错误,显示不了了。
为什么呢?我该怎么办啊??
请高手指点指点。感谢感谢很感谢
------解决方案--------------------
可以这样:dlg.DoModal()
------解决方案--------------------
结束时调用一下
CWnd::DestroyWindow
------解决方案--------------------
第二次不能在 create 了,因为已经创建过了
可以在create时这样写代码
if(!dlg)
dlg.Create(...)
就不会出错了
------解决方案--------------------
to PentiumMMX()
if(!dlg)
dlg.Create(...)
你在仔细看看
------解决方案--------------------
我 支持
CWnd::DestroyWindow
但是 是放在Create之前