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