Страница 9 из 43 Функция 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 Замечания по платформеНе имеется
|