Udostępnij za pośrednictwem


CWnd::DestroyWindow

Niszczy okno Windows podłączone do CWnd obiektu.

virtual BOOL DestroyWindow( );

Wartość zwracana

Niezerowa, jeśli okno jest niszczone; 0 inaczej.

Uwagi

DestroyWindow Członkowskich funkcji wysyła odpowiednie komunikaty do okna go dezaktywować i usuwać fokus wprowadzania.Go także niszczy menu okna, opróżnia kolejkę aplikacji, niszczy zaległych czasomierze, usuwa własność Schowka i podziały łańcucha Podgląd Schowka, jeśli CWnd znajduje się na początku łańcucha viewer.Wysyła WM_DESTROY i WM_NCDESTROY wiadomości do okna.Nie zniszczy CWnd obiektu.

DestroyWindowsymbol zastępczy jest do wykonywania oczyszczania.Ponieważ DestroyWindow jest funkcją wirtualny znajduje się w dowolnym CWnd-klasy w widoku klasy.Ale nawet jeśli zastąpić tę funkcję na CWnd-klasy, DestroyWindow nie zawsze jest wywoływana.Jeśli DestroyWindow nie jest wywoływana w kodzie MFC, a następnie trzeba jawnie wywołać ją we własnym kodzie, jeśli ma ona zostać wywołana.

Załóżmy na przykład, mają być zastąpione DestroyWindow w CView-klasy.Ponieważ nie wywołuje kod źródłowy MFC DestroyWindow w dowolnym jego CFrameWnd-klasy użytkownika przesłonięte pochodne DestroyWindow nie zostanie wywołany, chyba że jawnie wywołać.

Jeśli okno jest nadrzędny dowolnego systemu windows, tych okien podrzędnych są niszczone automatycznie, kiedy niszczony jest okno nadrzędne.DestroyWindow Członkowskich funkcji niszczy okien podrzędnych najpierw, a następnie sam okna.

DestroyWindow Członkowskich funkcji również niszczy niemodalny okien dialogowych utworzonych przez CDialog::Create.

Jeśli CWnd zniszczeniu okno podrzędne i nie ma WS_EX_NOPARENTNOTIFY styl zestawu, a następnie WM_PARENTNOTIFY wiadomość jest wysyłana do obiektu nadrzędnego.

Przykład

// 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();
}

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Wykres hierarchii

CWnd::OnDestroy

CWnd::Detach

DestroyWindow