DialogBoxIndirectParam

Функція DialogBoxIndirectParam створює модальне діалогове вікно діалоговому вікні шаблон в пам'яті. Перед відображенням діалогового вікна, функція проходить значення застосування визначено у діалоговому вікні порядку як параметр lParam WM_INITDIALOG повідомлення. Застосунок може використовувати це значення ініціалізувати елементи керування діалоговим вікном.

int DialogBoxIndirectParam ( HINSTANCE  hInstance, / / ручка екземпляр програмиLPCDLGTEMPLATEhDialogTemplate,  / / ідентифікує діалоговому вікні шаблонHWNDhWndParent, / / ручка власник вікноDLGPROClpDialogFunc, / / вказівник на діалоговому вікні процедуриLPARAMdwInitParam / / Ініціалізація значення);
 

Параметри

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

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

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

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

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

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

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

Зауваження

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

Коли діалоговому вікні порядок закликає EndDialog функції, DialogBoxIndirectParam руйнує діалогового вікна, закінчується повідомлення петлі, дозволяє власник вікна (якщо увімкнуто) та повертає nResult параметр визначений діалоговому вікні процедури, коли він називається EndDialog.

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

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

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

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

Windows CE: Якщо користувач натискає клавішу ALT + H, а діалогове вікно має фокус вводу, система посади WM_HELP повідомлення до процедури діалогове вікно. Застосування повинні відповісти на це повідомлення, відображаючи відображення контекстної довідки для діалогового вікна.

Дивіться інші обмеження діалоговому CreateDialogIndirectParam.

QuickInfo

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

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

Діалогове вікно огляд коробки, діалоговому вікні функції, CreateWindowEx, DialogBox, DialogBoxIndirect, DialogBoxParam, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, EndDialog, MultiByteToWideChar, WM_INITDIALOG, WM_SETFONT

Index