Провідник стиль настроюються шаблони

Визначити додаткові елементи керування для Explorer стиль Відкрити або Зберегти як діалоговому вікні вкажіть шаблон для дитини діалоговому вікні, що містить додаткові елементи керування за допомогою OPENFILENAME структури. Якщо діалогове вікно шаблону дитини ресурс у застосунки чи бібліотеки динамічного компонування, встановити прапор OFN_ENABLETEMPLATE в член прапори і визначити ім'я модуля і ресурсів за допомогою hInstance і lpTemplateName члени структури. Якщо шаблон, уже в пам'яті, OFN_ENABLETEMPLATEHANDLE прапор і використовувати hInstance член визначити пам'яті об'єкт, що містить шаблон. Під час надання дитині діалоговому шаблон для діалогове вікно провідника стиль, також необхідно встановити прапор OFN_EXPLORER; в іншому випадку, система припускає, що ви надаєте заміна шаблон для старого стилю діалогове. Зазвичай, якщо ви надати додаткові елементи керування, необхідно також указати на Explorer стиль гачок процедура процес повідомлень для нових елементів керування.

Ви можете створити шаблон дитини діалоговому вікні, як і будь-який інший шаблон, крім того, що ви повинні вказати стилі, WS_CHILD і WS_CLIPSIBLINGS і слід вказати стилі, DS_3DLOOK і DS_CONTROL. Система потребує стиль WS_CHILD, тому що ваш шаблон визначає діалогового вікна дитини за замовчуванням Відкрити або Зберегти як діалогового вікна. Стиль WS_CLIPSIBLINGS гарантує, що діалогове вікно дитини не зафарбувати будь-яких елементів керування в діалоговому вікні "за замовчуванням". Стиль DS_3DLOOK гарантує, що зовнішній вигляд елементів керування в діалоговому вікні дитини є співвідносним з елементів керування в діалоговому вікні "за замовчуванням". Стиль DS_CONTROL гарантує, що користувач може використовувати вкладки та інші навігаційні клавіші переміщення між всі елементи керування, за замовчуванням або користувальницьких, налаштувати діалогового вікна.

Щоб звільнити місце для нових елементів керування, система розширює діалогового вікна за замовчуванням Ширина та Висота діалоговому вікні. За промовчанням всі елементи керування діалоговому вікні будуть розташовані нижче елементів керування в діалоговому вікні "за замовчуванням". Однак, ви можете змінити це за замовчуванням, позиціонування, включаючи статичний текст елемент керування в шаблоні діалоговому вікні і призначення його значення ідентифікатор керування stc32. (Це значення визначається в з DLG.H заголовка файлу.) У цьому випадку, система використовує елемент керування як точку відліку для визначення, де поставити нові елементи керування. Всі нові елементи керування вище і ліворуч від елемента керування stc32 розташовані ту ж суму, вище і ліворуч від елементів керування в діалоговому вікні "за замовчуванням". Нові елементи керування, нижче та праворуч від елемента керування stc32 розташовані нижче та праворуч від елементів керування за промовчанням. В цілому, кожного нового елемента керування розташовані так, що воно ж позицію по відношенню до елементів керування за промовчанням, як це довелося stc32 контролю. Щоб звільнити місце для нових елементів керування, система додає простір ліворуч, праворуч, знизу і верхній частині діалогового вікна за замовчуванням належним чином.

Система вимагає процедура гачок для обробки всіх повідомлень, які призначені для користувача діалогового вікна і тому надсилає вікна повідомлення до процедури гачок, як до будь-якого інші діалоговому вікні процедури. Наприклад, гачок процедура отримує WM_COMMAND повідомлення, коли користувач натискає на кнопку елементів керування в діалоговому вікні. Процедура гачок несе відповідальність за ініціалізації цих елементів керування та отримання значення з елементів керування під час закриття діалогового вікна. Зверніть увагу, що коли процедура гачок отримує WM_INITDIALOG повідомлення, система має ще не перейшла елементи керування до остаточного розміщення.

За промовчанням діалоговому вікні Порядок обробки повідомлень для всіх елементів керування в діалоговому вікні "за замовчуванням", але отримує гачок процедуру на WM_NOTIFY сповіщень про дії користувача на ці елементи керування, як описано в Explorer-стиль гачок процедури.