Freigeben über


CFileDialog::DoModal

Rufen Sie diese Funktion auf, um das Gemeinschaftsdateidialogfeld Windows anzuzeigen und dem Benutzer ermöglichen, Dateien und Verzeichnisse zu durchsuchen und einen Dateinamen eingeben.

virtual INT_PTR DoModal( );

Rückgabewert

IDOK oder IDCANCEL. Wenn IDCANCEL zurückgegeben wird, rufen Sie die Funktion Windows CommDlgExtendedError auf, um zu bestimmen, ob ein Fehler aufgetreten ist.

IDOK und IDCANCEL sind Konstanten, die angeben, ob der Benutzer OK oder die Abbruchschaltfläche ausgewählt hat.

Hinweise

Wenn verschiedene Dateidialogfeldoptionen initialisieren möchten, indem Sie Member der Struktur m_ofn festlegen, sollten Sie dies tun, bevor Sie DoModal, aber aufrufen, nachdem das gleichzeitig mit ist.

Wenn Sie beispielsweise den Benutzer zu den ausgewählten mehrere Dateien ermöglichen möchten, legen Sie das OFN_ALLOWMULTISELECT-Flag fest, bevor Sie DoModal, wie im Codebeispiel in CFileDialog-Klasse gezeigt aufriefen.

Wenn der Benutzer des Dialogfelds auf OK oder Abbrechen klickt oder neben die Option aus dem Systemmenü des Dialogfelds auswählt, wird Steuerelement an die Anwendung zurückgegeben. Sie können andere Memberfunktionen dann aufrufen, um die Einstellungen oder Informationen die Benutzereingaben in das Dialogfeld abzurufen.

DoModal ist eine virtuelle Funktion, die von der - Klasse CDialog überschrieben wird.

Beispiel

void CMyClass::OnFileOpen()
{
   // szFilters is a text string that includes two file name filters: 
   // "*.my" for "MyType Files" and "*.*' for "All Files."
   TCHAR szFilters[]= _T("MyType Files (*.my)|*.my|All Files (*.*)|*.*||");

   // Create an Open dialog; the default file name extension is ".my".
   CFileDialog fileDlg(TRUE, _T("my"), _T("*.my"),
      OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilters);

   // Display the file dialog. When user clicks OK, fileDlg.DoModal()  
   // returns IDOK. 
   if(fileDlg.DoModal() == IDOK)
   {
      CString pathName = fileDlg.GetPathName();

      // Implement opening and reading file in here. 

      //Change the window's title to the opened file's title.
      CString fileName = fileDlg.GetFileTitle();

      SetWindowText(fileName);
   }
}

Anforderungen

Header: afxdlgs.h

Siehe auch

Referenz

CFileDialog-Klasse

Hierarchiediagramm

CDialog::DoModal

CFileDialog::CFileDialog