На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

CreateDialogIndirect



The CreateDialogIndirect macro creates a modeless dialog box from a dialog box template in memory. The CreateDialogIndirect macro uses the CreateDialogIndirectParam function.

HWND CreateDialogIndirect(

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
);


Parameters

hInstance

Identifies the instance of the module that creates the dialog box.

lpTemplate

Pointer to a global memory object containing a template that CreateDialogIndirect 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.



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 CreateDialogIndirect macro uses the CreateWindowEx function to create the dialog box. CreateDialogIndirect 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, CreateDialogIndirect returns the window handle to the dialog box.

After CreateDialogIndirect 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, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

CreateDialogIndirect



Макро CreateDialogIndirect создает независимый диалоговый ящик из диалогового шаблона ящика в памяти. Макро CreateDialogIndirect использует функцию CreateDialogIndirectParam.

HWND CreateDialogIndirect(

hInstance HINSTANCE, // ОПЕРИРУЕТСЯ в прикладной пример LPCDLGTEMPLATE lpTemplate, // указатель, чтобы общаться шаблон ящика HWND hWndParent, // ручки в окно владельца DLGPROC lpDialogFunc // указатель, чтобы общаться процедура ящика
);


Параметры

hInstance

Идентифицирует пример модуля, который создает диалоговый ящик.

lpTemplate

Указатель на глобальный объект памяти, содержащий шаблон, что CreateDialogIndirect используется, чтобы создавать диалоговый ящик. Диалоговый шаблон блока состоит из заголовка, который описывает диалогового блока, сопровождается одним или более дополнительными блоками данных, которые описывают каждые элементы управления в диалоговом блоке. Шаблон может использовать или стандартный формат или расширенный формат.
В стандартном шаблоне, заголовок является структурой DLGTEMPLATE сопровожденной дополнительной переменной-длиной подготавливается. Данные для каждого управления состоит из структуры DLGITEMTEMPLATE сопровожденной дополнительной переменной-длиной подготавливается.

В расширенном диалоговом шаблоне блока, заголовок использует формат DLGTEMPLATEEX и управляющее использование определений формат DLGITEMTEMPLATEEX.

hWndParent

Идентифицирует окно, которое обладает диалоговым блоком.

lpDialogFunc

Точки на диалоговый блока процедуры. Более подробно о диалоговом блоке процедуры, смотри DialogProc.



Обратные Величины

Если функция добивается успеха, обратная величина является ручкой окна диалоговому блоку.
Если функция терпит неудачу, обратная величина НЕДЕЙСТВИТЕЛЬНА.

Замечания

Макро 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 NT так и Windows 95, используйте функцию MultiByteToWideChar, чтобы генерировать эти строки Уникода.

Windows 95: система может поддержать максимум 16,364 ручек окна.

Смотри Также

CreateDialog, CreateDialogIndirectParam, CreateDialogParam, CreateWindowEx, DestroyWindow, DialogProc, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, DLGTEMPLATEEX, MultiByteToWideChar, ShowWindow, WM_INITDIALOG, WM_SETFONT


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz