Freigeben über


CDialog::Create

Rufen Sie Create auf, um ein nicht modales Dialogfeld mit einer Dialogfeldvorlage aus einer Ressource zu erstellen.

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

Parameter

  • lpszTemplateName
    Enthält eine auf NULL endende Zeichenfolge, die den Namen einer Dialogfeldvorlagen-Ressource ist.

  • pParentWnd
    verweist auf dem übergeordneten Fenster ein Objekt (vom Typ CWnd), an dem das Dialogfeldobjekt gehört.Wenn es NULL ist, wird das übergeordnete Fenster des Dialogfeldobjekts zum Hauptanwendungsfenster festgelegt.

  • nIDTemplate
    Enthält die ID einer Dialogfeldvorlagen-Ressource.

Rückgabewert

Beide Formulare geben Wert ungleich 0 zurück, wenn Dialogfelderstellung und -initialisierung erfolgreich waren; 0 andernfalls.

Hinweise

Sie können den Aufruf Create innerhalb des Konstruktors einfügen oder ihn aufrufen, nachdem der Konstruktor aufgerufen wird.

Zwei Formen der Create-Memberfunktion werden für den Zugriff auf die Dialogfeldvorlagen-Ressource von jedem Vorlagennamen oder von Vorlage ID-Nummer bereitgestellt (beispielsweise, IDD_DIALOG1).

Für jedes Formular führen Sie einen Zeiger auf das Objekt des übergeordneten Fensters.Wenn pParentWndNULL ist, wird das Dialogfeld mit seinem übergeordneten Element oder Besitzerfenster erstellt, die zum Hauptanwendungsfenster festgelegt werden.

Die Create-Memberfunktion gibt zurück, sobald sie das Dialogfeld erstellt.

Verwenden Sie das WS_VISIBLE Format in der Dialogfeldvorlage, wenn das Dialogfeld angezeigt wird, wenn das übergeordnete Fenster erstellt wird.Andernfalls müssen Sie ShowWindow aufrufen.Weitere Dialogfeldformate und ihre Anwendung finden Sie die DLGTEMPLATE-Struktur in Windows SDK und in Fensterstile in der MFC-Referenz.

Verwenden Sie die CWnd::DestroyWindow-Funktion, um ein Dialogfeld zu zerstören, das von der Create-Funktion erstellt wird.

Beispiel

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

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CDialog-Klasse

Hierarchien-Diagramm

CDialog::CDialog

CWnd::DestroyWindow

CDialog::InitModalIndirect

CDialog::DoModal

CreateDialog