Диалоговое окно Открыть позволяет пользователю указать диск, каталог и имя файла или набора файлов для открытия. Создание и отображение откроется диалоговое окно Открытие путем инициализации OPENFILENAME структуры и передачи структуры в функцию GetOpenFileName.
Диалоговое окно " Сохранить как " позволяет пользователю указать диск, каталог и имя файла для сохранения. Создавать и отображать диалоговое окно Сохранить как , инициализация OPENFILENAME структуры и передачи структуры в функцию GetSaveFileName.
Начиная с Windows 95 и Windows NT версии 4.0, Новая версия диалоговых окон Открыть и Сохранить как предоставляет функции пользовательского интерфейса в проводнике Windows. Однако система по-прежнему поддерживает старого стиля открытые диалоговые окна и Сохранить как для приложений, которые должны согласовываться с старых Пользовательский интерфейс.
В дополнение к различия во внешнем виде стиле проводника и старого стиля диалоговые различаются по их использования пользовательских шаблонов и крючком процедуры для настройки диалоговые окна. Однако исследователь стиль и диалоговых окон старого стиля имеют то же самое поведение для основных операций, таких как указание имени файла фильтра, проверка пользовательского ввода и получения имени файла, указанного пользователем. Для получения дополнительных сведений о стиле проводника и диалоговых окон старого стиля см. Открытие документа и сохранить как диалогового окна настройки.
На следующем рисунке показано типичное диалоговое окно исследователь стиле открытые.
На следующем рисунке показано типичное диалоговое, исследователь стиль Сохранить как.
Если пользователь указывает имя файла и нажимает кнопку ОК , GetOpenFileName или GetSaveFileName возвращает значение TRUE. Буфер, который указывает член lpstrFile структуры OPENFILENAME содержит полный путь и имя файла, указанного пользователем.
Если пользователь отменит диалогового окна Открыть или Сохранить как или возникает ошибка, функция возвращает FALSE. Чтобы определить причину ошибки, вызовите функцию CommDlgExtendedError для извлечения значения расширенная ошибка. Если lpstrFile буфер слишком мал, чтобы получить полное имя, CommDlgExtendedError возвращает FNERR_BUFFERTOOSMALL и первые 2 байта буфера, который указывает lpstrFile член присвоено целочисленное значение, указывающее размер необходимого для получить полное имя.
Диалоговые окна проводника стиль, доступны только для 32-разрядных приложений. 16-разрядные приложения не могут использовать преобразование для отображения диалогового окна проводника стиль.
Windows 95 и Windows 98: Win32-приложений на основе используемых диалоговых окон старого стиля сделать это с помощью преобразователь. Это означает, что любой указатель, передаваемый процедуру подключения является постоянная копия данных. К примеру OPENFILENAME указатель, передаваемый в сообщение WM_INITDIALOG не указатель на буфер, который первоначально указанной. Если вам необходимо передать процедуру подключения частных данных, объединит его в структуре и хранить указатель на структуру в lCustData член OPENFILENAME структуры.