Partilhar via


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

Consulte também

Referência

Classe CWnd

Gráfico de hierarquia

CWnd::OnDestroy

CWnd::desanexar

DestroyWindow

Outros recursos

Membros CWnd