Partager via


CFileDialog::DoModal

Appelez cette fonction pour afficher la boîte de dialogue Fichier commune windows et permettre à l'utilisateur de parcourir des fichiers et des répertoires et écrire un nom de fichier.

virtual INT_PTR DoModal( );

Valeur de retour

IDOK ou IDCANCEL. Si IDCANCEL est retourné, appelez la fonction de CommDlgExtendedError windows pour déterminer si une erreur s'est produite.

IDOK et IDCANCEL sont des constantes qui indiquent si l'utilisateur a sélectionné OK ou le bouton Annuler.

Notes

Si vous souhaitez initialiser les différentes options de boîte de dialogue Fichier par les membres de configuration de la structure de m_ofn , vous devez le faire avant d'appeler DoModal, mais après que l'objet dialog construit.

Par exemple, si vous souhaitez autoriser l'utilisateur à plusieurs fichiers sélectionnés, définissez l'indicateur d' OFN_ALLOWMULTISELECT avant d'appeler DoModal, comme indiqué dans l'exemple de code dans CFileDialog de classe.

Lorsque l'utilisateur clique sur OK ou Annuler les boutons de la boîte de dialogue, ou sélectionne l'option proche du menu de contrôle de la boîte de dialogue, le contrôle est retourné à votre application. Vous pouvez ensuite appeler d'autres fonctions membres pour récupérer les paramètres ou les informations les entrées d'utilisateur dans la boîte de dialogue.

DoModal est une fonction virtuelle de substitution de la classe CDialog.

Exemple

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

Configuration requise

Header: afxdlgs.h

Voir aussi

Référence

CFileDialog, classe

Graphique de la hiérarchie

CDialog::DoModal

CFileDialog::CFileDialog