CreateDialogIndirect

CreateDialogIndirect макрос створюється немодальною діалоговому вікні діалоговому вікні шаблон в пам'яті. CreateDialogIndirect макрос використовується функція CreateDialogIndirectParam.

(HWND CreateDialogIndirect HINSTANCE  hInstance, / / ручка екземпляр програмиLPCDLGTEMPLATElpTemplate, / / вказівник на діалоговому вікні шаблонHWNDhWndParent, / / ручка власник вікноDLGPROClpDialogFunc / / вказівник на діалоговому вікні процедури);
 

Параметри

hInstance
Визначає екземпляр модуль, який створює діалогового вікна.
lpTemplate
Вказівник глобальної пам'яті об'єкт, що містить шаблон, який CreateDialogIndirect використовує для створення діалогового вікна. Діалоговому вікні шаблон складається з заголовком, що описує діалогового вікна, а потім одне або кілька додаткових блоки даних, що описують кожного з елементів керування в діалоговому вікні. У шаблоні можна використовувати стандартний формат або розширений формат.

У стандартний шаблон заголовок є DLGTEMPLATE структурою слідують додаткові змінної довжини масивів. Дані для кожного з елементів керування складається з DLGITEMTEMPLATE структури, після чого додаткові змінної довжини масивів.

У шаблоні вікні Розширений діалогове вікно верхнього колонтитула використовується формат DLGTEMPLATEEX і керування визначень, використовуйте формат DLGITEMTEMPLATEEX.

Після CreateDialogIndirect повертає, ви можете звільнити шаблон, який використовується тільки отримати діалогове почалося.

hWndParent
Визначає, що володіє діалогового вікна.
lpDialogFunc
Вказівник у діалоговому вікні порядку. Щоб отримати додаткові відомості про діалоговому вікні процедуру перегляньте DialogProc.

Повернення значень

Якщо функція завершено успішно, значення, що повертається, є дескриптор вікна до діалогового вікна.

Якщо функцію не вдається, значення, що повертається, є NULL. Щоб отримати докладні відомості про помилку, зателефонуйте GetLastError.

Зауваження

CreateDialogIndirect макрос функція CreateWindowEx використовується для створення діалогового вікна. CreateDialogIndirect потім відправляє повідомлення WM_INITDIALOG у діалоговому вікні порядку. Якщо шаблон визначає стиль DS_SETFONT, функція також надсилає повідомлення WM_SETFONT у діалоговому вікні порядку. Функцію відображення діалогового вікна, якщо шаблон визначає стиль WS_VISIBLE. Нарешті, CreateDialogIndirect повертає дескриптор вікна до діалогового вікна.

Після CreateDialogIndirect повертає, можна використовувати функцію ShowWindow для відображення діалогового вікна (якщо вона ще не відображається). Щоб знищити діалогового вікна, скористайтеся функцією DestroyWindow.

У стандартних діалоговому вікні шаблон DLGTEMPLATE структури і кожен з DLGITEMTEMPLATE структури повинні вирівнюються по DWORD кордонів. Створення масиву даних, що йде за DLGITEMTEMPLATE структура повинна бути вирівняні на межу DWORD . Всі інші змінної довжини масивів у шаблоні повинні повинні бути вирівняні на слів кордонів.

У шаблоні вікні Розширений діалоговому DLGTEMPLATEEX заголовка і кожен визначень управління DLGITEMTEMPLATEEX повинні вирівнюються по межі DWORD . Створення даних масиву, якщо будь-яке, що йде за DLGITEMTEMPLATEEX структури також повинні бути вирівняні на межу DWORD . Всі з іншими масивами змінної довжини, у шаблоні повинні бути вирівняні на слів кордонів.

Всі рядки символів в діалоговому вікні шаблон, такі як назви для діалогового вікна та кнопки, повинні бути рядків Юнікод. Створювати код, що працює на обох Windows і Windows NT, функція MultiByteToWideChar використовується для створення цих рядків Юнікод.

Windows 95 і пізніших:Система може підтримувати максимум 255 елементів керування в діалоговому вікні шаблон. Щоб розмістити більше ніж 255 елементів керування в діалоговому вікні, створити елементи керування в обробник WM_INITDIALOG повідомлення, а не розміщення їх у шаблоні.

Windows CE: У структуру DLGTEMPLATE в діалоговому шаблон, на які посилаються lpTemplate параметра. підтримуються не всі стилі

QuickInfo

nbsp; Windows &NT: вимагає 3.1 або пізнішої версії.
Windows:Вимагає Windows 95 або пізнішої версії.
Windows CE:Потрібна Версія 1.0 або пізнішу версію.
Заголовка:Оголошена в winuser.h.
Імпортувати бібліотеки:Використання user32.lib.
Юнікод:Реалізований у вигляді Юнікод і ANSI версії на Windows NT.

Дивіться також

Діалогове вікно огляд коробки, діалоговому вікні функції, CreateDialog, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT

Index