部分代码如下:
#include "NoticeDlg.h"
void CEvent_Notice::Start()
{
CNoticeDlg* pNewNoticeDlg=new CNoticeDlg();
pNewNoticeDlg->Create(IDD_DIALOG_NOTICE);
pNewNoticeDlg->ShowWindow(SW_SHOW);
}调试时在跟进ShowWindow()函数后,发现调用基类ShowWindow()之后对话框立即消失了。
各位高手,请教一下!
#include "NoticeDlg.h"
void CEvent_Notice::Start()
{
CNoticeDlg* pNewNoticeDlg=new CNoticeDlg();
pNewNoticeDlg->Create(IDD_DIALOG_NOTICE);
pNewNoticeDlg->ShowWindow(SW_SHOW);
}调试时在跟进ShowWindow()函数后,发现调用基类ShowWindow()之后对话框立即消失了。
各位高手,请教一下!
嗯 我试过了,还是不行哦。
我调试过了,pNewNoticeDlg指针并没有被销毁,指向的对话框也是存在的。
应该不是这方面原因。
嗯,对话框类应该没有问题,因为如果用其他对话框类来调用这三段代码就不会出现问题。
但是我自己写的CEvent_Notice类Start()函数调用就会出现上述情况。
发现只要在Start函数结束后,窗口才会消失,百思不得其解。。
pNewNoticeDlg->Create(IDD_DIALOG_NOTICE);
pNewNoticeDlg->ShowWindow(SW_SHOWNORMAL);第二行代码的参数是不是不正确呢?
试试
.h
CNoticeDlg m_NewNoticeDlg;.cpp
m_NewNoticeDlg.Create(IDD, this);
m_NewNoticeDlg.ShowWindow(SW_SHOW);
return;
CDialog dlg; //这个写到CEvent_Notice类成员里面
dlg.Create(IDD_DIALOG_NOTICE);
dlg.ShowWindow(SW_NORMAL);消失是因为作用域问题 执行到ShowWindow后就销毁了