BOOL CXFileRowDlg::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
return CDialog::DestroyWindow();
}void CXFileRowDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
}上面这两个有什么区别
我应该在哪一个里回收内存
{
// TODO: Add your specialized code here and/or call the base class
return CDialog::DestroyWindow();
}void CXFileRowDlg::OnDestroy()
{
CDialog::OnDestroy();
// TODO: Add your message handler code here
}上面这两个有什么区别
我应该在哪一个里回收内存
这个函数销毁一个与CWnd对象相连接的Windows窗口。DestroyWindow成员函数向窗口发送一个适当的消息,以使该窗口变为非激活的并移去输入焦点。它还销毁窗口的菜单,清除应用程序的队列,销毁定时器,清除剪贴板拥有权,并且如果CWnd对象位于剪贴板观察器链的顶部,还打断剪贴板观察器链。它向窗口发送WM_DESTROY消息和WM_NCDESTROY消息。它不销毁CWnd对象 OnDestroy();
架调用这个成员函数以通知CWnd对象它将被销毁。OnDestroy是在CWnd对象已经从屏幕上清除以后被调用的。
首先为被销毁的CWnd调用OnDestroy,然后当CWnd的子窗口被销毁时为它们调用OnDestroy。可以假定当OnDestroy运行的时候,所有的子窗口依然存在。
如果被销毁的CWnd对象是剪贴板观察器链(通过调用SetClipboardViewer成员函数设置)的一部分,CWnd必须在从OnDestroy函数返回之前调用ChangeClipboardChain成员函数,将自己从剪贴板观察器链中清除。