|
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
Related Links
Software for Delphi and C++ Builder developers
Software for Visual Studio .NET developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps
Win32 Multimedia Programmer's Reference (mmedia.hlp)
OLE Programmer's Reference (ole.hlp)
Microsoft Windows Pen API Programmer's Reference (penapi.hlp)
Microsoft Windows Sockets 2 Reference (sock2.hlp)
Microsoft Windows Telephony API (TAPI) Programmer's Reference (tapi.hlp)
Unix Manual Pages
|