Поделиться через


CFileDialog::DoModal

Эта функция вызывается для отображения общего диалогового окна файла Windows и позволяет пользователю просматривать файлы и каталоги и ввести имя файла.

virtual INT_PTR DoModal( );

Возвращаемое значение

IDOK или IDCANCEL.Если IDCANCEL возвращается, то вызов функции Windows CommDlgExtendedError чтобы определить, произошла ли ошибка.

IDOK и IDCANCEL константы, указывающие выбрал ли пользователь кнопку ОК или отмена.

Заметки

Если необходимо инициализировать различные параметры диалогового окна файла элементами параметра структуры m_ofn, то это необходимо сделать до вызова DoModal, но после того, как объект диалогового окна.

Например, если необходимо разрешить пользователю выбирать несколько файлов, то установка пометить OFN_ALLOWMULTISELECT перед вызовом DoModal, как показано в примере кода в класс CFileDialog.

Когда пользователь нажимает кнопки ОК или отмена диалогового окна или выбирает ближайшее параметр из меню элементов управления диалогового окна, элемент управления возвращается к приложению.Затем можно вызвать другие функции-члены для получения параметров или сведений входные данные пользователя в диалоговом окне.

DoModal виртуальная функция переопределенная от класса CDialog.

Пример

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

Требования

Header: afxdlgs.h

См. также

Ссылки

Класс CFileDialog

Диаграмма иерархии

CDialog::DoModal

CFileDialog::CFileDialog