|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| user32.lib
| Header File
| winuser.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
DialogBoxIndirect
The
DialogBoxIndirect macro creates a modal dialog box from a dialog box template in memory.
DialogBoxIndirect does not return control until the specified callback function terminates the
modal dialog box by calling the
EndDialog function. The
DialogBoxIndirect macro uses the
DialogBoxIndirectParam function.
int DialogBoxIndirect(
HINSTANCE hInstance,
| // handle to application instance
|
LPDLGTEMPLATE lpTemplate,
| // identifies 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
DialogBoxIndirect 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 for a dialog box, 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 template for a dialog box, the header uses the
DLGTEMPLATEEX format and the control definitions use the
DLGITEMTEMPLATEEX format.
hWndParent
Identifies the window that owns the dialog box.
lpDialogFunc
Pointer 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
nResult parameter specified in the call to the
EndDialog function that was used to terminate the dialog box.
If the function fails, the return value is
1.
Remarks
The
DialogBoxIndirect macro uses the
CreateWindowEx function to create the dialog box.
DialogBoxIndirect 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
(regardless of whether the template specifies the WS_VISIBLE style), disables the
owner window, and starts its own message loop to retrieve and dispatch messages
for the dialog box.
When the dialog box procedure calls the
EndDialog function,
DialogBoxIndirect destroys the dialog box, ends the message loop, enables the owner window (if
previously enabled), and returns the
nResult parameter specified by the dialog box procedure when it called
EndDialog.
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
CreateWindowEx,
DialogBox,
DialogBoxIndirectParam,
DialogBoxParam,
DialogProc,
DLGITEMTEMPLATE,
DLGITEMTEMPLATEEX,
DLGTEMPLATE,
DLGTEMPLATEEX,
EndDialog,
MultiByteToWideChar,
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