Функция GetSaveFileName создает стандартное диалоговое окно Сохранить (Save), которое позволяет пользователю определить диск, каталог и имя файла, которое нужно сохранить.
Синтаксис
BOOL GetSaveFileName( LPOPENFILENAME lpofn ); |
Параметры
lpofn
[in, out] Указатель на структуру OPENFILENAME, которая содержит информацию, используемую, чтобы инициализировать диалоговое окно. Когда GetSaveFileName возвращает значение, эта структура содержит информацию о выбранном пользователем файле.Возвращаемое значение
Если пользователь задает имя файла и щелкает по кнопке ОК и функция завершается успешно, возвращаемое значение не нуль. Буфер, указанный членом lpstrFile структуры OPENFILENAME содержит полный путь и имя файла, которые определил пользователь.
Если пользователь прервал работу или закрыл диалоговое окно Сохранить (Save) или произошла ошибка, такая как буфер для имени файла слишком маленький, возвращаемое значение - ноль. Чтобы получить дополнительную информацию об ошибке, вызовите функцию CommDlgExtendedError, которая может возвратить одно из ниже перечисленных значений:
CDERR_DIALOGFAILURE |
CDERR_FINDRESFAILURE |
CDERR_INITIALIZATION |
CDERR_LOADRESFAILURE |
CDERR_LOADSTRFAILURE |
CDERR_LOCKRESFAILURE |
CDERR_MEMALLOCFAILURE |
CDERR_MEMLOCKFAILURE |
CDERR_NOHINSTANCE |
CDERR_NOHOOK |
CDERR_NOTEMPLATE |
CDERR_STRUCTSIZE |
FNERR_BUFFERTOOSMALL |
FNERR_INVALIDFILENAME |
FNERR_SUBCLASSFAILURE |
Замечания
Диалоговое окно Сохранить (Save), которое обеспечивает пользовательским интерфейсом со свойствами похожими на Проводник (Microsoft® Windows® Explorer). Вы можете предусмотреть для диалогового окна Сохранить (Save) в стиле Проводника фильтр - процедуру OFNHookProc. Чтобы разрешить работу фильтр - процедуре, установите флажки OFN_EXPLORER и OFN_ENABLEHOOK в члене Flags структуры OPENFILENAME и определите ее адрес в члене lpfnHook.
Windows продолжает поддерживать диалоговое окно Сохранить старого стиля для приложений, которые хотят поддерживать пользовательский интерфейс совместимый с пользовательским интерфейсом в старом стиле. Чтобы показать на экране диалоговое окно Сохранить (Save) старого стиля, подключите фильтр - процедуру OFNHookProcOldStyle и убедитесь в том, что флажок OFN_EXPLORER не установлен.
Windows NT 4.0: Структура OPENFILENAME включает дополнительные члены в более ранних версиях Windows. Однако, это порождает проблемы для приложений на базе предыдущих версий Windows. Чтобы использовать текущие заголовочные файлы для приложений, которые должны выполняться в среде Windows NT 4.0, или используйте #define "/D_WIN32_WINNT=0x0400", или используйте OPENFILENAME_SIZE_VERSION_400 в члене lStructSize структуры OPENFILENAME .
Windows 95/98/Me: GetSaveFileNameW поддерживается программой Microsoft Layer for Unicode (MSLU). Чтобы использовать ее, Вы должны добавить некоторые файлы к вашему приложению, как изложено в описании Microsoft Layer for Unicode для системы Windows 95/98/Me.
Пример
Пример смотри в статье Создание расширенного метафайла.
Смотри также
Обзор Библиотека стандартных диалоговых окон, Функции, используемые библиотекой стандартных диалоговых окон, CommDlgExtendedError, GetOpenFileName, OFNHookProc, OFNHookProcOldStyle, OPENFILENAME
Размещение и совместимость GetSaveFileName |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Comdlg32.lib |
Заголовочный файл |
|
- объявлено в |
Commdlg.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |