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 возвращает значение, эта структура содержит информацию о выбранном пользователем файле.

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