The DialogBoxIndirectParam function creates a modal dialog box from a dialog box template in memory. Before displaying the dialog box, the function passes an application-defined value to the dialog box procedure as the lParam parameter of the WM_INITDIALOG message. An application can use this value to initialize dialog box controls.
int DialogBoxIndirectParam(
HINSTANCE hInstance, |
// handle to application instance |
LPCDLGTEMPLATE hDialogTemplate, |
// identifies dialog box template |
HWND hWndParent, |
// handle to owner window |
DLGPROC lpDialogFunc, |
// pointer to dialog box procedure |
LPARAM dwInitParam |
// initialization value |
); |
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.
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. To get extended error information, call GetLastError.