Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This structure is not defined in any standard header file. The structure definition is provided here to explain the format of an extended template for a dialog box.
An extended dialog box template begins with a DLGTEMPLATEEXheader that describes the dialog box and specifies the number of controls in the dialog box. For each control in a dialog box, an extended dialog box template has a block of data that uses the DLGITEMTEMPLATEEXformat to describe the control.
typedef struct { WORD dlgVer; WORD signature ; DWORD helpID ; DWORD exStyle ; DWORD style ; WORD cDlgItems ; short x; short y ; short cx ; short cy ; sz_Or_Ord menu ; sz_Or_Ord windowClass ; WCHAR title[titleLen] ; short pointsize ; short weight ; short bItalic ; WCHAR font[fontLen] ; } DLGTEMPLATEEX;
Members
Value | Description |
---|---|
DS_3DLOOK | Gives the dialog box a nonbold font and draws three-dimensional borders around control windows in the dialog box. |
DS_ABSALIGN | Indicates that the coordinates of the dialog box are screen coordinates. If this style is not specified, the system recognizes them as client coordinates. |
DS_CENTER | Centers the dialog box in the working area; that is, the area not obscured by the tray |
DS_CENTERMOUSE | Centers the mouse cursor in the dialog box |
DS_CONTEXTHELP | Includes a question mark in the title bar of the
dialog box. When the user clicks the question mark, the cursor
changes to a question mark with a pointer. If the user then clicks
a control in the dialog box, the control receives a WM_HELP
message. The control should pass the message to the dialog
procedure, which should call the
WinHelpfunction using the HELP_WM_HELP command. The help
application displays a pop-up window that typically contains help
for the control.
Note that DS_CONTEXTHELP is only a placeholder. When the dialog box is created, the system checks for DS_CONTEXTHELP and, if it is there, adds WS_EX_CONTEXTHELP to the extended style of the dialog box. You cannot use the WS_EX_CONTEXTHELP style with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX styles. |
DS_CONTROL | Creates a dialog box that works well as a child window of another dialog box, much like a page in a property sheet. This style allows the user to tab among the control windows of a child dialog box, use its accelerator keys, and so on. |
DS_MODALFRAME | Creates a dialog box with a modal dialog-box frame that can be combined with a title bar and windowmenu by specifying the WS_CAPTION and WS_SYSMENU styles |
DS_NOFAILCREATE | Creates the dialog box even if errors occur—for example, if a child window cannot be created or if the system cannot create a special data segment for an edit control. |
DS_NOIDLEMSG | Suppresses WM_ENTERIDLE messages that the system would otherwise send to the owner of the dialog box while the dialog box is displayed. |
DS_SETFONT | Indicates that the
DLGTEMPLATEEXheader
of the extended dialog box template contains four additional
members (
pointsize,
weight,
bItalic, and
font) that describe the font to use for the text in the
client area and controls of the dialog box. If possible, the system
creates a font according to the values specified in these members.
Then the system passes the handle of the font to the dialog box and
to each control by sending them the WM_SETFONT message.
If this style is not specified, the extended dialog box template does not include the pointsize, weight, bItalic, and fontmembers. |
DS_SETFOREGROUND | Causes the system to use the SetForegroundWindowfunction to bring the dialog box to the foreground |
Remarks
You can use an extended dialog box template instead of a standard dialog box template in the CreateDialogIndirectParamand DialogBoxIndirectParamfunctions and the CreateDialogIndirectand DialogBoxIndirectmacros. A standard dialog box template uses the DLGTEMPLATEand DLGITEMTEMPLATEstructures.
Following the DLGTEMPLATEEXheader in an extended dialog box template is one or more DLGITEMTEMPLATEEXstructures that describe the controls of the dialog box. The cDlgItemsmember specifies the number of DLGITEMTEMPLATEEXstructures in the template.
Each DLGITEMTEMPLATEEXstructure in the template must be aligned on a DWORDboundary. If the stylemember specifies the DS_SETFONT style, the first DLGITEMTEMPLATEEXstructure begins on the first DWORDboundary after the fontstring. If DS_SETFONT is not specified, the first structure begins on the first DWORDboundary after the titlestring.
The menu, windowClass, title, and fontarrays must be aligned on WORDboundaries.
If you specify character strings in the menu, windowClass, title, and fontarrays, you must use Unicode strings. To create code that works on both Windows 95/98 and Windows NT, use the MultiByteToWideCharfunction to generate these Unicode strings.
The x, y, cx, and cymembers specify values in dialog box units. You can convert these values to screen units (pixels) by using the MapDialogRectfunction.
The following dwStyleflags are not supported for dialog boxes:
Unsupported dialog box styles |
DS_ABSALIGN |
DS_CENTERMOUSE |
DS_CONTEXTHELP |
DS_FIXEDSYS |
DS_NOFAILCREATE |
DS_NOIDLEMSG |
DS_SYSMODAL |
Requirements
Runs on | Versions | Defined in | Include | Link to |
---|---|---|---|---|
Windows CE OS | Winuser.h |
Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
See Also
CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, MapDialogRect, MultiByteToWideChar, WM_SETFONT, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, LOGFONT