Диалоговое окно стиле проводника Открыть или Сохранить как можно настроить, процедуру подключения, обеспечивающему пользовательский шаблон или оба. Если вы предоставите процедуру подключения для диалогового окна проводника стиль, система создает диалоговое окно, является дочерним для диалогового окна по умолчанию. Процедуру подключения действует как процедура диалогового окна для диалогового окна ребенка. Это ребенок диалоговое основана на пользовательский шаблон, или на шаблон по умолчанию, если не обеспечивается. Дополнительные сведения см. в Стиле проводника пользовательских шаблонов.
Чтобы включить процедуру подключения в стиле проводника Открыть или Сохранить как диалоговое окно "", при создании диалоговое окно или используйте OPENFILENAME структуры. Установите флаги OFN_ENABLEHOOK и OFN_EXPLORER в странах-членах флаги и укажите адрес процедуру подключения OFNHookProc в lpfnHook -членов. Если предоставить процедуру подключения и опустить флага OFN_EXPLORER, необходимо использовать процедуру подключения OFNHookProcOldStyle и вы получите старого стиля интерфейса пользователя. Для получения дополнительной информации смотрите Настройка старых диалоговые окна.
Процедуру подключения стиле проводника получает целый ряд сообщений при открытом диалоговом окне. К ним относятся следующие:
Кроме того есть несколько сообщений, что вы можете отправить диалоговое окно проводника стиль для того чтобы получить информацию или контролировать поведение и внешний вид диалогового окна.
Если вы предоставите процедуру подключения для диалогового окна проводника стиль, процедуру диалогового окна по умолчанию создается диалоговое окно ребенок, когда по умолчанию процедура диалогового окна обрабатывает сообщение WM_INITDIALOG . Процедуру подключения действует как процедура диалогового окна для диалогового окна ребенка. В настоящее время процедуру подключения получает свой собственный сообщение WM_INITDIALOG с параметром lParam устанавливается в адрес OPENFILENAME структура, используемая для инициализации диалогового окна. После того, как диалоговое окно ребенок заканчивает обработку своих собственных сообщение WM_INITDIALOG, по умолчанию диалоговое окно процедура перемещает стандартные элементы управления, при необходимости освободить место для любых дополнительных элементов управления диалогового окна ребенка. По умолчанию процедура диалогового окна затем посылает сообщение уведомления CDN_INITDONE процедуру подключения.
Процедуру подключения получает WM_NOTIFY уведомлений о действиях пользователя в диалоговом окне. Некоторые из этих сообщений можно использовать для управления поведением диалогового окна. К примеру процедуру подключения получает сообщение CDN_FILEOK, когда пользователь выбирает имя файла и нажимает кнопку ОК . В ответ на это сообщение процедуру подключения можно использовать функцию SetWindowLong для отклонения выбранного имени и заставить диалоговое оставаться открытыми.
Параметр lParam для каждого сообщения, WM_NOTIFY — это указатель на структуру OFNOTIFY , которая определяет действия. Элемент code в заголовке для OFNOTIFY структуры содержит один из следующих кодов уведомления.
CDN_FILEOK | Пользователь нажал кнопку ОК ; диалоговое окно "" собирается закрыть. |
CDN_FOLDERCHANGE | Пользователь открыл новую папку или каталог. |
CDN_HELP | Пользователь нажал кнопку Справка. |
CDN_INITDONE | Система закончил инициализацию диалогового окна, и диалоговое окно "" завершил обработку сообщение WM_INITDIALOG . Кроме того система закончила расположение элементов управления в диалоговом окне Общие чтобы освободить место для элементов управления диалогового окна ребенка (если есть). |
CDN_SELCHANGE | Пользователь выбрал новый файл или папку из списка файлов. |
CDN_SHAREVIOLATION | Диалоговое окно Общие обнаружил нарушение общего доступа на файл, чтобы вернуть. |
CDN_TYPECHANGE | Пользователь выбрал новый тип файла из списка типов файлов. |
Эти сообщения WM_NOTIFY заменяют FILEOKSTRING, LBSELCHSTRING, SHAREVISTRINGи HELPMSGSTRING зарегистрированных сообщений, используемых в предыдущих версиях диалоговых окон Открыть и Сохранить как . Однако процедуру подключения получает также заменяемое сообщение после сообщения WM_NOTIFY если WM_NOTIFY обработки не использует SetWindowLong для задания ненулевое значение DWL_MSGRESULT.
Для получения сведений о состоянии диалогового окна или контролировать поведение и внешний вид диалогового окна процедуру подключения могут отправлять следующие сообщения в диалоговое.
CDM_GETFILEPATH | Получает путь и имя выбранного файла. |
CDM_GETFOLDERIDLIST | Извлекает идентификатор список элементов, соответствующий текущей папке диалогового окна есть открытые. Дополнительные сведения о списках идентификатор элемента, см. элемент идентификаторов и идентификатор списков. |
CDM_GETFOLDERPATH | Извлекает путь текущей папки или каталога для диалогового окна. |
CDM_GETSPEC | Извлекает имя файла (исключая путь) файла, выбранного в диалоговом окне. |
CDM_HIDECONTROL | Скрывает указанного элемента управления. |
CDM_SETCONTROLTEXT | Устанавливает текст в указанном элементе управления. |
CDM_SETDEFEXT | Задает расширение имени файла по умолчанию для диалогового окна. |