CWnd::DestroyWindow
Destrói a janela do windows anexada ao objeto de CWnd .
virtual BOOL DestroyWindow( );
Valor de retorno
Diferente de zero se a janela estiver destruída; se não 0.
Comentários
Envia da função de membro de DestroyWindow exibe mensagens para a janela para desativá-la e remova o foco de entrada. Também for o menu da janela, libera a fila do aplicativo, destrói temporizadores pendentes, remove a propriedade da área de transferência, e interrompam a cadeia do Visualizador da Área de Transferência se CWnd está na parte superior da cadeia do visualizador. Envia mensagens de WM_DESTROY e de WM_NCDESTROY a janela. Não destrói o objeto de CWnd .
DestroyWindow é um meio do local para executar limpeza. Porque DestroyWindow é uma função virtual, é mostrada em qualquer CWnd- classe derivada no modo da classe. Mas se você substituir essa função no CWnd- a classe derivada, DestroyWindow não é necessariamente chamada. Se DestroyWindow não é chamado no código MFC, então você precisa explicitamente chamá-lo em seu próprio código se você deseja a ser chamado.
Suponha, por exemplo, você substituiu DestroyWindow em CView- classe derivada. Desde que o código-fonte MFC não chama DestroyWindow em algum do seu CFrameWnd- classes derivadas, seu DestroyWindow substituído não serão chamados a menos que você chamá-lo explicitamente.
Se a janela é o pai de qualquer janela, essas janelas filho são destruídas automaticamente quando a janela pai seja destruída. A função de membro de DestroyWindow for janelas filho primeiro e na janela própria.
A função de membro de DestroyWindow também for as caixas de diálogo sem-modo criadas por CDialog::Create.
Se CWnd que está sendo destruído é uma janela filho e não tem o estilo de WS_EX_NOPARENTNOTIFY definida como, então a mensagem de WM_PARENTNOTIFY é enviada ao pai.
Exemplo
// 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();
}
Requisitos
Cabeçalho: afxwin.h