CWnd::DestroyWindow
Destrói a janela Windows anexada ao CWnd objeto.
virtual BOOL DestroyWindow( );
Valor de retorno
Diferente de zero se a janela é destruída; caso contrário, 0.
Comentários
The DestroyWindow função de membro envia mensagens apropriadas para a janela para desativá-la e remover o foco de entrada. Ele também destrói o menu da janela, libera a fila de aplicativo, destrói timers pendentes, remove a área de transferência propriedade e quebra a cadeia do Visualizador da área de transferência se CWnd está na parte superior da cadeia de visualizador. Ele envia WM_DESTROY and WM_NCDESTROY mensagens para a janela.Não destrói o CWnd objeto.
DestroyWindow é um espaço reservado para executar limpeza. Porque DestroyWindow é uma função virtual, ele é mostrado em qualquer CWnd-classe no modo de exibição de classe derivada. Mas mesmo se você substituir esta função no seu CWnd-derivada da classe, DestroyWindow não é necessariamente chamado. If DestroyWindow não é telefonar ed no código MFC, e em seguida, você tem que explicitamente telefonar-lo no seu próprio código, se você quiser que ele seja telefonar ed.
Suponha, por exemplo, que você tiver substituído DestroyWindow em um CView-classe derivada. Desde que o código-fonte MFC não chama DestroyWindow em qualquer um dos seus CFrameWnd-seu substituídos, de classes derivadas DestroyWindow não será chamado, a menos que você chamar explicitamente.
Se a janela pai de todas as janelas, essas janelas filho serão destruídas automaticamente quando a janela pai é destruída.The DestroyWindow função de membro destrói janelas filho primeiro e, em seguida, a janela propriamente dito.
The DestroyWindow função de membro também destrói caixas de diálogo sem janela restrita criadas por CDialog::criar.
Se o CWnd sendo destruído é uma janela filho e não possuir o WS_EX_NOPARENTNOTIFY estilo conjunto e, em seguida, a WM_PARENTNOTIFY mensagem é enviada para o 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