Función CreateDialogIndirectParamA (winuser.h)
Crea un cuadro de diálogo modela a partir de una plantilla de cuadro de diálogo en memoria. Antes de mostrar el cuadro de diálogo, la función pasa un valor definido por la aplicación al procedimiento del cuadro de diálogo como el parámetro lParam del mensaje de WM_INITDIALOG. Una aplicación puede usar este valor para inicializar controles de cuadro de diálogo.
Sintaxis
HWND CreateDialogIndirectParamA(
[in, optional] HINSTANCE hInstance,
[in] LPCDLGTEMPLATEA lpTemplate,
[in, optional] HWND hWndParent,
[in, optional] DLGPROC lpDialogFunc,
[in] LPARAM dwInitParam
);
Parámetros
[in, optional] hInstance
Tipo: HINSTANCE
Identificador del módulo que contiene la plantilla del cuadro de diálogo. Si este parámetro es NULL, se usa el archivo ejecutable actual.
[in] lpTemplate
Tipo:
La plantilla createDialogIndirectParam usa para crear el cuadro de diálogo. Una plantilla de cuadro de diálogo consta de un encabezado que describe el cuadro de diálogo, seguido de uno o varios bloques adicionales de datos que describen cada uno de los controles del cuadro de diálogo. La plantilla puede usar el formato estándar o el formato extendido.
En una plantilla estándar, el encabezado es una estructura de DLGTEMPLATE seguida de matrices de longitud variable adicionales. Los datos de cada control constan de una estructura de DLGITEMTEMPLATE seguida de matrices de longitud variable adicionales.
En una plantilla de cuadro de diálogo extendido, el encabezado usa el formato
Después de CreateDialogIndirectParam, puede liberar la plantilla, que solo se usa para iniciar el cuadro de diálogo.
[in, optional] hWndParent
Tipo: HWND
Identificador de la ventana que posee el cuadro de diálogo.
[in, optional] lpDialogFunc
Tipo: DLGPROC
Puntero al procedimiento del cuadro de diálogo. Para obtener más información sobre el procedimiento del cuadro de diálogo, vea DialogProc.
[in] dwInitParam
Tipo: LPARAM
Valor que se va a pasar al cuadro de diálogo en el parámetro lParam del mensaje de WM_INITDIALOG.
Valor devuelto
Tipo: HWND
Si la función se ejecuta correctamente, el valor devuelto es el identificador de ventana del cuadro de diálogo.
Si se produce un error en la función, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.
Observaciones
La función CreateDialogIndirectParam usa la función CreateWindowEx para crear el cuadro de diálogo. createDialogIndirectParam envía un mensaje WM_INITDIALOG al procedimiento del cuadro de diálogo. Si la plantilla especifica el estilo DS_SETFONT o DS_SHELLFONT, la función también envía un mensaje WM_SETFONT al procedimiento del cuadro de diálogo. La función muestra el cuadro de diálogo si la plantilla especifica el estilo WS_VISIBLE. Por último, createDialogIndirectParam devuelve el identificador de ventana al cuadro de diálogo.
Después de CreateDialogIndirectParam devuelve, puede usar la función ShowWindow para mostrar el cuadro de diálogo (si aún no está visible). Para destruir el cuadro de diálogo, use la función DestroyWindow. Para admitir la navegación del teclado y otras funciones del cuadro de diálogo, el bucle de mensajes del cuadro de diálogo debe llamar a la función
En una plantilla de cuadro de diálogo estándar, la estructura
En una plantilla de cuadro de diálogo extendido, el encabezado
Todas las cadenas de caracteres de la plantilla del cuadro de diálogo, como los títulos del cuadro de diálogo y los botones, deben ser cadenas Unicode.
Nota
El encabezado winuser.h define CreateDialogIndirectParam como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
winuser.h (incluya Windows.h) |
biblioteca de |
User32.lib |
DLL de |
User32.dll |
conjunto de API de |
ext-ms-win-ntuser-dialogbox-l1-1-0 (introducido en Windows 8) |
Consulte también
conceptual de
cuadro de diálogo Proc
otros recursos
de referencia de