Провідник стиль гачок процедури

Ви можете налаштувати Explorer стиль Відкрити або Зберегти як діалоговому вікні шляхом надання гачок процедуру, шаблон або обидва. Якщо ви надасте гачок процедура діалогове вікно провідника стиль, система створює діалоговому вікні, що дитина "у діалоговому вікні" за замовчуванням ". Гачок процедура діє як процедура діалогове вікно "у діалоговому вікні" дитина ". Ця дитина діалоговому вікні базується настроюваний шаблон або шаблон за промовчанням якщо ніхто не надається. Докладніше перегляньте Explorer-стиль настроюються шаблони.

Щоб дозволити гачок процедуру для Explorer стиль Відкрити або Зберегти як діалоговому вікні, використовувати OPENFILENAME структури, під час створення діалогового вікна. Встановити позначки OFN_ENABLEHOOK і OFN_EXPLORER в прапори член і вкажіть адресу процедури OFNHookProc гачок у lpfnHook член. Якщо ви надати гачок процедури і пропустити OFN_EXPLORER прапор, ви повинні використовувати процедуру OFNHookProcOldStyle гачок, і ви отримаєте старого стилю інтерфейсу користувача. Докладніше перегляньте Налаштування старого стилю діалогових вікон.

Процедуру гачок Explorer стиль отримує різні повідомлення, поки відкрито діалогове вікно. До них відносяться такі:

Крім того, існує набір повідомлення, що ви можете відправити діалогове вікно провідника стиль для отримання інформації або для контролю поведінки й оформлення діалогового вікна.

Якщо ви надасте гачок процедура діалогове вікно провідника стиль, за промовчанням діалоговому вікні процедура створює діалогове вікно дитина, коли процедури за замовчуванням діалогове вікно обробляє його WM_INITDIALOG повідомлення. Гачок процедура діє як процедура діалогове вікно "у діалоговому вікні" дитина ". В цей час процедура гачок отримує свій власний WM_INITDIALOG повідомлення з lParam параметр встановлена як OPENFILENAME структури, що використовується для ініціалізації діалогового вікна. Після дитини діалогове вікно завершення обробки власну WM_INITDIALOG повідомлення, за замовчуванням діалогове вікно процедура рухається стандартних елементів керування, якщо необхідно, щоб звільнити місце для будь-яких додаткових елементів керування діалогового вікна дитини. За замовчуванням діалогове вікно процедура надсилає повідомлення про CDN_INITDONE гачок порядку.

Процедура гачок отримує WM_NOTIFY сповіщень із зазначенням дії користувача в діалоговому вікні. Ви можете використовувати деякі з цих повідомлень для керування поведінкою діалогового вікна. Наприклад, гачок процедура отримує CDN_FILEOK повідомлення, коли користувач вибирає ім'я файлу та натискання кнопки ОК . У відповідь на це повідомлення процедура гачок функція SetWindowLong ім'я вибраного відхилити і змусити діалоговому вікні залишатися відкритим.

Параметр lParam для кожного WM_NOTIFY повідомлення — це вказівник на OFNOTIFY структури, що визначає дії. Код члена в заголовку для OFNOTIFY структури містить один з таких кодів сповіщень.

CDN_FILEOK Користувач натиснув кнопку ОК ; діалогове вікно збирається закрити.
CDN_FOLDERCHANGE Користувач відкрив нову папку або каталог.
CDN_HELP Користувач натиснув кнопку Довідка.
CDN_INITDONE Система завершила ініціалізації діалогового вікна, а діалогове вікно завершення обробки повідомлення WM_INITDIALOG . Крім того, система завершила впорядкування елементів керування в діалоговому вікні загальноприйнята щоб звільнити місце для елементів керування діалогового вікна дитини (за наявності).
CDN_SELCHANGE Користувач вибрано новий файл або папку зі списку файлів.
CDN_SHAREVIOLATION Загальні діалогового виявила порушення прав доступу до файлу буде повернуто.
CDN_TYPECHANGE Користувач вибрано новий тип файлу у списку типів файлів.

Ці повідомлення WM_NOTIFY замінюють FILEOKSTRING, LBSELCHSTRING, SHAREVISTRINGі HELPMSGSTRING зареєстрованих повідомлень попередніх версій діалогових вікнах Відкрити та Зберегти як . Однак, гачок процедури також отримує superseded повідомлення після WM_NOTIFY повідомлення якщо WM_NOTIFY обробки не використовується SetWindowLong встановити ненульове значення DWL_MSGRESULT.

Для отримання інформації про стан діалогового вікна або для контролю поведінки й оформлення діалогового вікна, гачок процедуру можна надіслати такі повідомлення діалогового вікна.

CDM_GETFILEPATH Повертає шлях та ім'я файлу, вибраного файлу.
CDM_GETFOLDERIDLIST Повертає елемент ідентифікатор списку відповідає поточній папці, що діалогове вікно має відкрити. Щоб отримати додаткові відомості про списки ідентифікатор елемента, перегляньте елемент ідентифікатори та ідентифікатор списки.
CDM_GETFOLDERPATH Повертає шлях поточної папки або каталогу для діалогового вікна.
CDM_GETSPEC Отримує ім'я файлу (включаючи шлях) файлу вибрано в діалоговому вікні.
CDM_HIDECONTROL Приховання вказаного елемента керування.
CDM_SETCONTROLTEXT Задає текст вказаного елемента керування.
CDM_SETDEFEXT Встановлює за промовчанням ім'я файлу розширення для діалогового вікна.

Index