Исследователь стиль крюк процедуры

Диалоговое окно стиле проводника Открыть или Сохранить как можно настроить, процедуру подключения, обеспечивающему пользовательский шаблон или оба. Если вы предоставите процедуру подключения для диалогового окна проводника стиль, система создает диалоговое окно, является дочерним для диалогового окна по умолчанию. Процедуру подключения действует как процедура диалогового окна для диалогового окна ребенка. Это ребенок диалоговое основана на пользовательский шаблон, или на шаблон по умолчанию, если не обеспечивается. Дополнительные сведения см. в Стиле проводника пользовательских шаблонов.

Чтобы включить процедуру подключения в стиле проводника Открыть или Сохранить как диалоговое окно "", при создании диалоговое окно или используйте 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 Задает расширение имени файла по умолчанию для диалогового окна.

Index