|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| user32.lib
| Header File
| winuser.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
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
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database