Condividi tramite


CDialog::Create

Chiamare Crea per creare una finestra di dialogo non modale utilizzando un modello di finestra di dialogo da una risorsa.

virtual BOOL Create(
   LPCTSTR lpszTemplateName,
   CWnd* pParentWnd = NULL 
);
virtual BOOL Create(
   UINT nIDTemplate,
   CWnd* pParentWnd = NULL 
);

Parametri

  • lpszTemplateName
    Contiene una stringa con terminazione null che è il nome di una risorsa modello di finestra di dialogo.

  • pParentWnd
    Punta alla finestra padre oggetto (di tipo CWnd) che l'oggetto della finestra di dialogo appartiene.Se è NULL, la finestra padre dell'oggetto finestra di dialogo viene impostata nella finestra principale dell'applicazione.

  • nIDTemplate
    Contiene il numero ID di una risorsa modello di finestra di dialogo.

Valore restituito

Entrambi i form restituiscono diverso da zero se la creazione e l'inizializzazione della finestra di dialogo oppure; in caso contrario 0.

Note

È possibile inserire una chiamata a Crea nel costruttore o chiamarlo dopo che viene richiamato il costruttore.

Due forme della funzione membro Crea vengono forniti accesso alla risorsa modello di finestra di dialogo da qualsiasi nome del modello o l'id del modello, ad esempio IDD_DIALOG1).

Per qualsiasi form, passare un puntatore all'oggetto finestra padre.Se pParentWnd è NULL, la finestra di dialogo verrà creata con il relativo padre o finestra proprietaria impostata nella finestra principale dell'applicazione.

Funzione restituisce membro Crea subito dopo avere creato la finestra di dialogo.

Utilizzare lo stile WS_VISIBLE nel modello di finestra di dialogo se la finestra di dialogo viene visualizzata quando la finestra padre viene creata.In caso contrario, è necessario chiamare ShowWindow.Per ulteriori stili della finestra di dialogo e la relativa applicazione, vedere la struttura DLGTEMPLATE in Windows SDK e in Stili della finestrain riferimenti alla libreria MFC.

Utilizzare la funzione CWnd::DestroyWindow per eliminare una finestra di dialogo creata dalla funzione Crea.

Esempio

void CMyDialog::OnMenuShowSimpleDialog()
{
   //m_pSimpleDialog initialized to NULL in the constructor of CMyDialog class
   m_pSimpleDlg = new CSimpleDlg();
   //Check if new succeeded and we got a valid pointer to a dialog object
   if(m_pSimpleDlg != NULL)
   {
      BOOL ret = m_pSimpleDlg->Create(IDD_SIMPLEDIALOG, this);

      if(!ret)   //Create failed.
         AfxMessageBox(_T("Error creating Dialog"));

      m_pSimpleDlg->ShowWindow(SW_SHOW);
   }
   else
   {
      AfxMessageBox(_T("Error Creating Dialog Object"));
   }
}

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe di CDialog

Grafico della gerarchia

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog