Freigeben über


CWnd::Create

Stellt das angegebene untergeordnete Fenster erstellt und fügt es dem CWnd-Objekt.

virtual BOOL Create(
   LPCTSTR lpszClassName,
   LPCTSTR lpszWindowName,
   DWORD dwStyle,
   Const RECT& rect,
   CWnd* pParentWnd,
   UINT nID,
   CCreateContext* pContext = NULL
);

Parameter

  • [in] lpszClassName
    Zeiger auf eine auf NULL endende Zeichenfolge, die den Namen einer registrierten Systemfensterklasse enthält; oder der Name einer vordefinierten Systemfensterklasse.

  • [in] lpszWindowName
    Zeiger auf eine auf NULL endende Zeichenfolge, die den Fensteranzeigenamen enthält; andernfalls NULL für keinen Fensteranzeigenamen.

  • [in] dwStyle
    Kombination (Bitweises OR) von Fensterstile. Die WS_POPUP Option ist kein gültiges Format.

  • [in] rect
    Die Größe und Position des Fensters relativ zur oberen linken Ecke des übergeordneten Fensters.

  • [in] pParentWnd
    Zeiger auf das übergeordnete Fenster.

  • [in] nID
    ID des Fensters.

  • [in] pContext
    Zeiger auf eine Struktur CCreateContext, die verwendet wird, um die Dokument-/Ansichtarchitektur für die Anwendung anpassen.

Rückgabewert

TRUE, wenn die Methode erfolgreich war; andernfalls FALSE.

Hinweise

Warnung

CWnd::PreCreateWindow weist jetzt den hMenu Member seines CREATESTRUCT-Parameters zum this Zeiger auf, wenn das Menü NULL ist und das Format WS_CHILD enthält.Für eine ordnungsgemäße Funktionalität stellen Sie sicher, dass das Dialogfeld-Steuerelement eine ID verfügt, die nicht NULL ist.

Diese Änderung behoben einen Absturz in den verwalteten und systemeigenen Interopszenarien.Eine TRACE-Anweisung in CWnd::Create weist den Entwickler des Problems.

Verwenden Sie die Funktion, um AfxRegisterWndClass Fensterklassen zu registrieren. Benutzerdefinierte Fensterklassen sind im Modul verfügbar, in dem sie registriert werden.

Die CWnd::OnCreate-Methode wird aufgerufen, bevor die Create-Methode zurückgibt, und vor dem Fenster wird angezeigt.

Beispiel

// Dynamically create static control using CWnd::Create, 
// instead of with CStatic::Create, which doesn't 
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic() 
{
   // m_pWndStatic is a CWnd* member of CMyDlg
   m_pWndStatic = new CWnd;
   m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
       CRect(0, 0, 20, 20), this, 1234);
}

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CWnd-Klasse

Hierarchiediagramm

CWnd::CWnd

CWnd::CreateEx

CreateWindowEx