Вы можете настраивать диалоговое окно Открыть (Open) или Сохранить как (Save As) старого стиля, обеспечивая его фильтр - процедурой OFNHookProcOldStyle, которая примет сообщения или уведомления, предназначенные для заданной по умолчанию процедуры диалогового окна. Вы можете также предоставить и пользовательский шаблон, чтобы использовать его вместо заданного по умолчанию шаблона. Фильтр - процедуры и шаблоны, используемые с диалоговыми окнами старого стиля сходны с теми, которые используются с другими стандартными диалоговыми окнами. Для получения дополнительной информации, см. статьи Фильтр - процедуры для стандартных диалоговых окон и Пользовательские шаблоны.
Чтобы подключить фильтр - процедуру для диалогового окна Открыть (Open) или Сохранить как (Save As) старого стиля, используйте структуру OPENFILENAME, когда вы создаете диалоговое окно. В члене структуры Flags установите флажок OFN_ENABLEHOOK, а в члене lpfnHook установите адрес фильтр - процедуры OFNHookProcOldStyle. Процедура диалогового окна отправляет фильтр - процедуре сообщение WM_INITDIALOG с параметром lParam, который устанавливает адрес структуры OPENFILENAME, используемой для инициализации диалогового окна.
Вы можете использовать структуру OPENFILENAME, чтобы определить пользовательский шаблон для диалогового окна Открыть (Open) или Сохранить как (Save As), используя вместо заданного по умолчанию шаблона. Если ваш пользовательский шаблон - ресурс в прикладной программе или динамически подключаемой библиотеки, в члене Flags установите флажок OFN_ENABLETEMPLATE, а члены структуры hInstance и lpTemplateName используйте, чтобы идентифицировать имя ресурса и модуль. Если ваш пользовательский шаблон - уже в памяти, установите флажок OFN_ENABLETEMPLATEHANDLE и используйте элемент hInstance, чтобы идентифицировать объект памяти, который содержит шаблон. Создайте пользовательский шаблон, модифицируя заданный по умолчанию шаблон, определяемый в файле Fileopen.dlg. Идентификаторы органов управления, используемых по умолчанию в шаблоне блока диалога Найти (Find) и Заменить (Replace), определены в файле Dlgs.h
По умолчанию, функции GetOpenFileName и GetSaveFileName показывают на экране диалоговые окна в стиле Проводника. Если вы желаете показать диалоговое окно старого стиля, то должны предусмотреть фильтр - процедуру OFNHookProcOldStyle и гарантировать, чтобы в элементе Flags структуры OPENFILENAME не был установлен флажок OFN_EXPLORER.
Если вы устанавливаете флажок OFN_EXPLORER, система обрабатывает фильтр - процедуру или пользовательский шаблон как настройку на стиль Проводника. Об информации о настройках диалогового окна в стиле Проводника, см. статью Пользовательские шаблоны для стиля Проводника.