我new了一个非模态对话框pCDlg,并且在上面自己new了一个CTabCtrl,并且在CTabCtrl上
new了一些比如CButton这样的控件。然后重载了一下CTabCtrl::OnDestroy(),在里面加了
一些自己的delete CButton这样的操作。
现在我想在这个非模态对话框的外面写一个函数能够显示的删除这个非模态对话框。
我看资料上说非模态对话框要首先调用DestroyWindow(),然后再delete非模态对话框的
类指针,现在的问题是执行到pCDlg->DestroyWindow()时,就中断,我单步执行进去,
发现是
if (m_hWnd != NULL)
{
pMap = afxMapHWND();
ASSERT(pMap != NULL);
           …………………………………………
ASSERT(pMap != NULL)中断,我猜是消息影射出问题了,我该怎么做?才能正确删除非模
态对话框呢?还有,就是CTabCtrl,因为CTabCtrl非模态对话框的一个成员变量,然后重载了一下CTab
Ctrl::OnDestroy(),在里面加了一些自己的delete CButton这样的操作。我调用CTabCtr
l.DestroyWindow()时,也有同样的错误。怎么回事?对了,我定义了一个计时器,timeSetEvent();每10秒就删除非模态对话框,但是放在回调函数里就出现上面的错误。为什么删除非模态对话框的函数放在计时器的回调函数里就有问题呢?