非模式对话框销毁有关问题

非模式对话框销毁问题
我在一个线程里对多个对话框进行管理
C/C++ code

CWnd *pNewWnd = NULL;
pNewWnd = new CDlgNewDlg;
((CDialog *)pNewWnd)->Create(lNewDlgID, this);    //创建新窗口
pNewWnd->ShowWindow(SW_SHOW);
pCurWnd->SendMessage(WM_CLOSE);    //关闭旧窗口
delete pCurWnd;
pCurWnd = pNewWnd;
pNewWnd = NULL;


以上代码要实现打开一个对话框, 关闭一个对话框.
但是发送 WM_CLOSE 的时候, 调试输出显示
Warning: calling DestroyWindow in CDialog::~CDialog --
OnDestroy or PostNcDestroy in derived class will not be called.

所以有个疑问, 我在发送WM_CLOSE之后调用了delete, 是不是完全销毁了窗口? 还是说delete之后窗口扔在内存中运行?
如果delete能销毁窗口, 有没有必要在delete之前发送WM_CLOSE消息?

------解决方案--------------------
pCurWnd->DestroyWindow(); //关闭旧窗口

------解决方案--------------------
非模态对话框WM_CLOSE,你认为是关闭吧,其实是隐藏。