CWnd::DestroyWindow
Ničí okno Windows připojených k CWnd objektu.
virtual BOOL DestroyWindow( );
Vrácená hodnota
Nenulová hodnota, pokud je okno zničeno; jinak 0.
Poznámky
DestroyWindow Členské funkce odesílá zprávy příslušné okno je zakázat a odebrat fokus vstupu.Je také ničí nabídku okna, vyprázdnění fronty aplikace, ničí nevyřízené časovače, odebere schránky vlastnictví a konce řetězce prohlížeč schránky, pokud CWnd je v horní části prohlížeče řetězu.Odešle WM_DESTROY a WM_NCDESTROY do okna zprávy.Nelze zničit CWnd objektu.
DestroyWindowpředstavuje zástupnou pro provádění čištění.Protože DestroyWindow je virtuální funkce je zobrazen v žádné CWnd -odvozené třídy v zobrazení třídy.Ale i když přepsat tuto funkci v vaše CWnd -odvozené třídy, DestroyWindow není nutně volat.Pokud DestroyWindow není názvem v MFC kódu, pak musíte explicitně volat ve vlastním kódu Pokud má být volána.
Předpokládejme například, můžete přepsat DestroyWindow v CView -odvozené třídy.Protože nevyvolá MFC zdrojový kód DestroyWindow v žádné z jeho CFrameWnd -odvozené třídy vaší Potlačené DestroyWindow nebude volána, pokud není explicitně volat.
Pokud je okno nadřazené všech oken, těchto podřízených oken při zničení nadřazené okno automaticky odstraní. DestroyWindow Podřízených oken ničí členské funkce první a vlastní okno.
DestroyWindow Členské funkce také ničí nemodální dialogových oken vytvořené CDialog::Create.
Pokud CWnd zničení se podřízené okno a nemá WS_EX_NOPARENTNOTIFY styl sady, pak bude WM_PARENTNOTIFY zprávy nadřazeného.
Příklad
// 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();
}
Požadavky
Záhlaví: afxwin.h