Шаг 959 - CFileDialog::CFileDialog

CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, 
	LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY |
	OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );

Параметры
bOpenFileDialog
Установите к TRUE, чтобы создать диалоговое окно File Open или FALSE, чтобы создать диалоговое окно File Save As.
lpszDefExt
Заданное по умолчанию расширение имени файла. Если пользователь не включает расширение в окно редактирования имени файла, расширение, определенное lpszDefExt автоматически добавлено к имени файла. Если этот параметр NULL, никакое расширение файла не добавлено.
lpszFileName
Начальное имя файла, которое появляется в окне редактирования имени файла. Если NULL, никакое имя файла первоначально не появляется.
dwFlags
Комбинация одних или большее количество флажков, которые позволяют Вам настраивать диалоговое окно. Для описания этих флажков, см. структуру OPENFILENAME в Win32 SDK документации. Если Вы изменяете m_ofn используйте оператор " поразрядный или " в ваших изменениях, чтобы хранить заданное по умолчанию поведение неповрежденным.
lpszFilter
Ряд строковых пар, которые определяют фильтры. Если Вы определяете фильтры файла, только выбранные файлы появятся в списке File. См. раздел Замечаний для подробной информации относительно того, как работать с фильтрами файла.
pParentWnd
Указатель на родителя объекта диалогового окна файла или окно владельца.

Замечания
Вызовите эту функцию, чтобы создать стандартный объект диалогового окна файла Windows. File Open или File Save As диалог создан, в зависимости от значения bOpenFileDialog.
Чтобы позволять пользователю выбирать многократные файлы, установите флажок OFN_ALLOWMULTISELECT перед вызовом DoModal. Вы должны обеспечить ваш собственный буфер имен файла, чтобы разместить возвращенный список многократных имен файла. Делайте это, заменяя m_ofn.lpstrFile с указателем на буфер, который Вы распределили, после построения CFileDialog, но перед вызовом DoModal. Дополнительно, Вы должны установить m_ofn.nMaxFile с числом символов в буфере, указанном в m_ofn.lpstrFile.
Чтобы позволять пользователю изменять размеры диалогового окна используя мышь или клавиатура, установите флажок OFN_ENABLESIZING. Установка этого флажка необходима только, если Вы обеспечиваете процедуру обработчика прерываний или заказной шаблон. Флажок работает только с диалоговым окном со стилем Explorer, диалоговые окна старого стиля не разрешают изменять размеры.
lpszFilter параметр используется, чтобы определить тип имени файла, файл должен придется отобразиться в списке файла. Первая строка в строковой паре описывает фильтр, вторая строка указывает расширение файла, чтобы использовать. Многократные расширения могут быть определены, используя ';' как разделитель. Строковые концы '|' с двух сторон сопровождаемые символом пробела. Вы можете также использовать объект CString для этого параметра.
Например, Microsoft Excel, разрешает пользователям открывать файлы с расширениями .XLC (диаграмму) или .XLS (рабочий лист), среди других фильтров, мог бы быть написан как:

static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||"; 

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 13.02.2002