|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
CreateDialogIndirectParam
The CreateDialogIndirectParam function creates a modeless dialog box from a dialog box template in memory. Before displaying the dialog box, the function passes an application-defined value to the dialog box procedure as the lParam parameter of the WM_INITDIALOG message. An application can use this value to initialize dialog box controls.
HWND CreateDialogIndirectParam(
HINSTANCE hInstance, // handle to application instance LPCDLGTEMPLATE lpTemplate, // pointer to dialog box template HWND hWndParent, // handle to owner window DLGPROC lpDialogFunc, // pointer to dialog box procedure LPARAM lParamInit // initialization value );
Parameters
hInstance
Identifies the instance of the module that will create the dialog box.
lpTemplate
Pointer to a global memory object containing a template that CreateDialogIndirectParam uses to create the dialog box. A dialog box template consists of a header that describes the dialog box, followed by one or more additional blocks of data that describe each of the controls in the dialog box. The template can use either the standard format or the extended format. In a standard template, the header is a DLGTEMPLATE structure followed by additional variable-length arrays. The data for each control consists of a DLGITEMTEMPLATE structure followed by additional variable-length arrays.
In an extended dialog box template, the header uses the DLGTEMPLATEEX format and the control definitions use the DLGITEMTEMPLATEEX format.
hWndParent
Identifies the window that owns the dialog box.
lpDialogFunc
Points to the dialog box procedure. For more information about the dialog box procedure, see DialogProc.
lParamInit
Specifies the value to pass to the dialog box in the lParam parameter of the WM_INITDIALOG message.
Return Values
If the function succeeds, the return value is the window handle to the dialog box. If the function fails, the return value is NULL.
Remarks
The CreateDialogIndirectParam function uses the CreateWindowEx function to create the dialog box. CreateDialogIndirectParam then sends a WM_INITDIALOG message to the dialog box procedure. If the template specifies the DS_SETFONT style, the function also sends a WM_SETFONT message to the dialog box procedure. The function displays the dialog box if the template specifies the WS_VISIBLE style. Finally, CreateDialogIndirectParam returns the window handle to the dialog box.
After CreateDialogIndirectParam returns, you can use the ShowWindow function to display the dialog box (if it is not already visible). To destroy the dialog box, use the DestroyWindow function. In a standard dialog box template, the DLGTEMPLATE structure and each of the DLGITEMTEMPLATE structures must be aligned on DWORD boundaries. The creation data array that follows a DLGITEMTEMPLATE structure must also be aligned on a DWORD boundary. All of the other variable-length arrays in the template must must be aligned on WORD boundaries.
In an extended dialog box template, the DLGTEMPLATEEX header and each of the DLGITEMTEMPLATEEX control definitions must be aligned on DWORD boundaries. The creation data array, if any, that follows a DLGITEMTEMPLATEEX structure must also be aligned on a DWORD boundary. All of the other variable-length arrays in the template must be aligned on WORD boundaries. All character strings in the dialog box template, such as titles for the dialog box and buttons, must be Unicode strings. To create code that works on both Windows NT and Windows 95, use the MultiByteToWideChar function to generate these Unicode strings.
Windows 95: The system can support a maximum of 16,364 window handles.
See Also
CreateDialog, CreateDialogIndirect, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
CreateDialogIndirectParam
Функция CreateDialogIndirectParam создает независимый диалоговый ящик из диалогового шаблона ящика в памяти. Прежде, чем отобразить диалоговый ящик, функция передает определенную прикладную величину в диалоговую процедуру ящика как параметр lParam сообщения WM_INITDIALOG. Приложение может использовать эту величину, чтобы инициализировать диалоговые элементы управления ящика.
HWND CreateDialogIndirectParam(
hInstance HINSTANCE, // ОПЕРИРУЕТСЯ в прикладной пример LPCDLGTEMPLATE lpTemplate, // указатель, чтобы общаться шаблон ящика HWND hWndParent, // ручки в окно владельца DLGPROC lpDialogFunc, // указателя, чтобы общаться величина инициализации ящика процедуры LPARAM lParamInit // );
Параметры
hInstance
Идентифицирует пример модуля, который создаст диалоговый ящик.
lpTemplate
Указатель на глобальный объект памяти, содержащий шаблон, что CreateDialogIndirectParam используется, чтобы создавать диалоговый ящик. Диалоговый шаблон блока состоит из заголовка, который описывает диалогового блока, сопровождается одним или более дополнительными блоками данных, которые описывают каждые элементы управления в диалоговом блоке. Шаблон может использовать или стандартный формат или расширенный формат. В стандартном шаблоне, заголовок является структурой DLGTEMPLATE сопровожденной дополнительной переменной-длиной подготавливается. Данные для каждого управления состоит из структуры DLGITEMTEMPLATE сопровожденной дополнительной переменной-длиной подготавливается.
В расширенном диалоговом шаблоне блока, заголовок использует формат DLGTEMPLATEEX и управляющее использование определений формат DLGITEMTEMPLATEEX.
hWndParent
Идентифицирует окно, которое обладает диалоговым блоком.
lpDialogFunc
Точки на диалоговый блока процедуры. Более подробно о диалоговом блоке процедуры, смотри DialogProc.
lParamInit
Определяет величину, чтобы проходить диалоговому блоку в параметре lParam сообщения WM_INITDIALOG.
Обратные Величины
Если функция добивается успеха, обратная величина является ручкой окна диалоговому блоку. Если функция терпит неудачу, обратная величина НЕДЕЙСТВИТЕЛЬНА.
Замечания
Функция CreateDialogIndirectParam использует функцию CreateWindowEx, чтобы создавать диалогового блока. CreateDialogIndirectParam ЗАТЕМ посылает сообщение WM_INITDIALOG диалоговому блоку процедуры. Если шаблон определяет стиль DS_SETFONT, функция также посылает сообщение WM_SETFONT диалоговому блоку процедуры. Функция отображает диалогового блока если шаблон определяет стиль WS_VISIBLE. Наконец, CreateDialogIndirectParam возвращает ручку окна диалоговому блоку.
После возврат CreateDialogIndirectParam, Вы можете использовать функцию ShowWindow, чтобы отображать диалогового блока (если это не уже видимое). Для того, чтобы уничтожать диалогового блока, используйте функцию DestroyWindow. В стандартном диалоговом шаблоне блока, структура DLGTEMPLATE и каждые структуры DLGITEMTEMPLATE должны быть выровнены на границах DWORD. Массив данных создания за которым следует структуре DLGITEMTEMPLATE должно также выровнено на границе DWORD. Вся другая переменная-длина подготавливается в шаблоне должно должно быть выровнено на ТЕКСТОВЫХ границах.
В расширенном диалоговом шаблоне блока, заголовок DLGTEMPLATEEX и каждые управляющие определения DLGITEMTEMPLATEEX должны быть выровнены на границах DWORD. Массив данных создания, если имеется в наличии,, что следует за структурой DLGITEMTEMPLATEEX должно также выровнено на границе DWORD. Вся другая переменная-длина подготавливается в шаблоне должно быть выровнено на ТЕКСТОВЫХ границах. Все символьные строки в диалоге боксируют шаблон, как например, названия для диалогового блока и кнопки, должны быть строки Уникода. Для того, чтобы создавать код, который работает на как Windows NT так и Windows 95, используйте функцию MultiByteToWideChar, чтобы генерировать эти строки Уникода.
Windows 95: система может поддержать максимум 16,364 ручек окна.
Смотри Также
CreateDialog, CreateDialogIndirect, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT
|
|
|
|
| |