CWnd::DestroyWindow
Уничтожает окно Windows вложенное к объекту CWnd.
virtual BOOL DestroyWindow( );
Возвращаемое значение
Если при уничтожении окна; в противном случае – значение 0.
Заметки
Функция-член DestroyWindow отправляет соответствующие сообщения в окно, чтобы отключить его, и удалить фокус ввода. Также он уничтожает меню окно выберите сбрасывает очередь приложения удаляет необработанные таймеры удаляет владение буфера обмена и разрывает цепочку Буфер обмена- средства просмотра, если CWnd на самом верху цепочки средства просмотра. Он отправляет сообщения WM_DESTROY и WM_NCDESTROY окна. Он не уничтожает объект CWnd.
Заполнитель для DestroyWindow при выполнении очистки. Поскольку DestroyWindow виртуальную функцию, перечислены в любом CWnd- производном классе в представлении классов. Но даже при переопределении эта функция в CWnd- производный класс, DestroyWindow не обязательно вызвать. Если DestroyWindow не вызываются в коде MFC, необходимо явным образом вызывать в собственном коде, если оно должно вызываться.
Предположим, например, DestroyWindow переопределении в CView- производный класс. Поскольку исходный код MFC не вызывает DestroyWindow в любом из его CFrameWnd- не будут Вызываются производные классы, переопределенное DestroyWindow если не вызвать явным образом.
Если окно является родительским для всех окон, то эти дочерние окна автоматически уничтожаются при уничтожении родительское окно. Функция-член DestroyWindow удаляет дочерние окна в первую очередь, а затем само окно.
Функция-член также удаляет DestroyWindow безрежимные диалоговые окна, созданные CDialog::Create.
Если дочернее окно, разрушенным CWnd и не имеет стиль WS_EX_NOPARENTNOTIFY быть установлен, то сообщение WM_PARENTNOTIFY отправлено к родительскому элементу.
Пример
// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in
// OnOK() & OnCancel() handlers
void CModeless::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(_T("UpdateData failed during dialog termination\n"));
// The UpdateData routine will set focus to correct item
return;
}
DestroyWindow();
}
void CModeless::OnCancel()
{
DestroyWindow();
}
Требования
Header: afxwin.h