BOOL GetSaveFileName
Если пользователь прервал работу или закрыл диалоговое окно Открыть (Open) или произошла ошибка, возвращаемое значение - ноль.
Если пользователь определил имя файла и щелкает по кнопке ОК, возвращаемое значение не нуль. Буфер, указанный элементом lpstrFile структуры OPENFILENAME содержит полный путь и имя файла, которые определил пользователь.
Возвращаемые значения
Lpofn - Указатель на структуру OPENFILENAME, которая содержит информацию, используемую для инициализации диалогового окна. Когда GetOpenFileName возвращает значение, эта структура содержит информацию о файле, выбранном пользователем.
Параметры
BOOL GetOpenFileName
(
LPOPENFILENAME lpofn // адрес структуры с данными инициализации
);
Чтобы получить расширенную информацию об ошибке, можно вызвать функцию CommDlgExtendedError, которая может возвратить одно из ниже перечисленных значений:
CDERR_FINDRESFAILURE
CDERR_NOHINSTANCE
CDERR_INITIALIZATION
CDERR_NOHOOK
CDERR_LOCKRESFAILURE
CDERR_NOTEMPLATE
CDERR_LOADRESFAILURE
CDERR_STRUCTSIZE
CDERR_LOADSTRFAILURE
FNERR_BUFFERTOOSMALL
CDERR_MEMALLOCFAILURE
FNERR_INVALIDFILENAME
CDERR_MEMLOCKFAILURE
FNERR_SUBCLASSFAILURE
Структура OPENFILENAME содержит информацию, которую используют функции GetOpenFileName и GetSaveFileName, чтобы инициализировать диалоговое окно Открыть (Open) или Сохранить как (Save As).После того как пользователь закроет диалоговое окно, в этой структуре система возвращает информацию о выборе пользователя.
Синтаксис
typedef struct tagOFN {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCTSTR lpstrDefExt;
LPARAM lCustData;
LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
#if (_WIN32_WINNT >= 0x0500)
void * pvReserved;
DWORD dwReserved;
DWORD FlagsEx;
#endif //
} OPENFILENAME, *LPOPENFILENAME;
Функция GetSaveFileName создает стандартное диалоговое окно Сохранить (Save), которое позволяет пользователю определить диск, каталог и имя файла, которое нужно сохранить.
Синтаксис
(
LPOPENFILENAME lpofn // адрес структуры данными инициализации
);
Параметры
lpofn - Указатель на структуру OPENFILENAME, которая содержит информацию, используемую, чтобы инициализировать диалоговое окно. Когда GetSaveFileName возвращает значение, эта структура содержит информацию о выбранном пользователем файле.
Возвращаемые значения