Condividi tramite


CWnd::Create

Crea una finestra figlio specificata e allegarlo all'oggetto CWnd.

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

Parametri

  • [in] lpszClassName
    Puntatore a una stringa con terminazione null che contiene il nome di una classe finestra registrata di sistema; o il nome della classe della finestra predefinita del sistema.

  • [in] lpszWindowName
    Puntatore a una stringa con terminazione null che contiene il nome visualizzato della finestra; in caso contrario NULL ad alcun nome visualizzato della finestra.

  • [in] dwStyle
    Combinazione bit per bit (OR) stili della finestra.l'opzione WS_POPUP non è uno stile valido.

  • [in] rect
    La dimensione e la posizione della finestra relativa all'angolo superiore sinistro della finestra padre.

  • [in] pParentWnd
    Puntatore alla finestra padre.

  • [in] nID
    ID della finestra.

  • [in] pContext
    Puntatore a una struttura CCreateContext utilizzata per personalizzare l'architettura di un documento visualizzazione per l'applicazione.

Valore restituito

TRUE se il metodo è riuscita, in caso contrario FALSE.

Note

Nota di avvisoAttenzione

CWnd::PreCreateWindow ora che segue il membro di hMenu del parametro CREATESTRUCT al puntatore this se il menu è NULL e lo stile contiene WS_CHILD.Per garantire una corretta funzionalità, assicurarsi che il controllo finestra di dialogo con un ID che non è NULL.

Questa modifica corregge un arresto anomalo scenari di interoperabilità gestiti o nativi.Un'istruzione TRACE in CWnd::Create segnala lo sviluppatore del problema.

Utilizzare la funzione AfxRegisterWndClass per registrare le classi della finestra.Le classi di finestre definite dall'utente siano disponibili nel modulo in cui vengono registrate.

Il metodo CWnd::OnCreate viene chiamato prima che il metodo Create e prima della finestra diventa visibile.

Esempio

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

Requisiti

intestazione: afxwin.h

Vedere anche

Riferimenti

Classe CWnd

Grafico della gerarchia

CWnd::CWnd

CWnd::CreateEx

CreateWindowEx