我在一个非模态对话框中的某个按钮响应函数里开启了一个定时器,然后在OnTimer处理中:void CPrepareDlg::OnTimer(UINT_PTR nIDEvent)
{
if (PRE_TIMER_ID == nIDEvent)
{
DestroyWindow();
} CDialog::OnTimer(nIDEvent);
} 我的疑惑是:定时器一到我就DestroyWindow,把这个非模态对话框销毁了,那下面的CDialog::OnTimer(nIDEvent)执行会不会有问题?
{
if (PRE_TIMER_ID == nIDEvent)
{
DestroyWindow();
} CDialog::OnTimer(nIDEvent);
} 我的疑惑是:定时器一到我就DestroyWindow,把这个非模态对话框销毁了,那下面的CDialog::OnTimer(nIDEvent)执行会不会有问题?
另外还得加个虚函数PostNcDestroy,在里面delete this;这样就不会内存泄露了。
不过我对WM_CLOSE也是就一句:DestroyWindow()。
我创建这个子模态对话框时用的是父对话框的私有成员:
private:
CPrepareDlg m_prepareDlg;
所以就不用delete this了