Win32 API. Справочник по диалоговому окну
Страница 9. Функция DialogBoxIndirectParam


Функция DialogBoxIndirectParam

(КосвенныйБлокДиалогаСПараметром)

Функция DialogBoxIndirectParam создает модальное диалоговое окно из шаблона блока диалога в памяти. Перед показом диалогового окна на экране, функция передает определяемое программой значение в процедуру диалогового окна как параметр lParam сообщения WM_INITDIALOG. Прикладная программа может использовать это значение для инициализации органов управления диалогового окна.

Синтаксис

int DialogBoxIndirectParam
(
HINSTANCE hInstance,// дескриптор экземпляра программы
LPCDLGTEMPLATE hDialogTemplate,// идентифицирует шаблон блока диалога
HWND hWndParent,// дескриптор окна владельца
DLGPROC lpDialogFunc,// указатель на процедуру блока диалога
LPARAM dwInitParam// значение инициализации
);

Параметры
hInstance
Идентифицирует экземпляр модуля, который создает диалоговое окно.
hDialogTemplate
Указатель на объект глобальной памяти, содержащий шаблон, который DialogBoxIndirectParam использует, чтобы создать диалоговое окно. Шаблон блока диалога состоит из заголовка, который описывает диалоговое окно, сопровождаемое одним или несколькими дополнительными блоками данных, которые описывают каждый из органов управления в диалоговом окне. Шаблон может использовать или стандартный или расширенный формат.
В стандартном шаблоне для диалогового окна, заголовком является структура DLGTEMPLATE, сопровождаемая дополнительными массивами переменной длины. Данные для каждого элемента управления состоят из структуры DLGITEMTEMPLATE, сопровождаемой дополнительными массивами переменной длины.
В расширенном шаблоне диалогового окна, заголовок использует формат DLGTEMPLATEEX, а определения органов управления используют формат DLGITEMTEMPLATEEX.
hWndParent
Идентифицирует окно, которое владеет блоком диалога.
lpDialogFunc
Указатель на процедуру диалогового окна. Для получения дополнительной информации о процедуре диалогового окна, см. статью DialogProc.
dwInitParam
Определяет значение, которое передается в диалоговое окно в параметре lParam сообщением WM_INITDIALOG.

Возвращаемые значения
Если функция завершается успешно, возвращаемое значение - параметр nResult, заданный при вызове функции EndDialog, которая используется, чтобы завершить работу диалогового окна.
Если функция не выполняет задачу, возвращаемое значение – (минус)1.

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

Размещение и совместимость DialogBoxIndirectParam

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотекаuser32.lib
Заголовочный файлwinuser.h
UnicodeWinNT
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »