Función TaskDialogIndirect (commctrl.h)
La función TaskDialogIndirect crea, muestra y opera un cuadro de diálogo de tarea. El cuadro de diálogo de tarea contiene iconos definidos por la aplicación, mensajes, título, casilla de verificación, vínculos de comandos, botones de inserción y botones de radio. Esta función puede registrar una función de devolución de llamada para recibir mensajes de notificación.
Sintaxis
HRESULT TaskDialogIndirect(
[in] const TASKDIALOGCONFIG *pTaskConfig,
[out, optional] int *pnButton,
[out, optional] int *pnRadioButton,
[out, optional] BOOL *pfVerificationFlagChecked
);
Parámetros
[in] pTaskConfig
Tipo: const TASKDIALOGCONFIG*
Puntero a una estructura TASKDIALOGCONFIG que contiene información utilizada para mostrar el cuadro de diálogo de tareas.
[out, optional] pnButton
Tipo: int*
Dirección de una variable que recibe:
- uno de los identificadores de botón especificados en el miembro pButtons del parámetro pTaskConfig
- uno de los siguientes valores:
Valor | Descripción |
---|---|
0 | Error en la llamada de función. Consulte el valor devuelto para obtener más información. |
IDCANCEL | Se seleccionó el botón Cancelar, se presionó Alt-F4, se presionó Escape o el usuario hizo clic en el botón cerrar ventana. |
IDNO | No se ha seleccionado ningún botón. |
IDOK | Se ha seleccionado el botón Aceptar. |
IDRETRY | Se ha seleccionado el botón Reintentar. |
IDYES | Se ha seleccionado el botón Sí. |
Si este parámetro es NULL, no se devuelve ningún valor.
[out, optional] pnRadioButton
Tipo: int*
Dirección de una variable que recibe uno de los identificadores de botón especificados en el miembro pRadioButtons del parámetro pTaskConfig . Si este parámetro es NULL, no se devuelve ningún valor.
[out, optional] pfVerificationFlagChecked
Tipo: BOOL*
Dirección de una variable que recibe uno de los valores siguientes.
Valor | Descripción |
---|---|
TRUE | La casilla de verificación se ha activado cuando se descartó el cuadro de diálogo. |
FALSE | La casilla de verificación no se ha activado cuando se descartó el cuadro de diálogo. |
Si este parámetro es NULL, la casilla de verificación está deshabilitada.
Valor devuelto
Tipo: HRESULT
Esta función puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
La operación se ha completado correctamente. |
|
No hay memoria suficiente para completar la operación. |
|
Uno o varios argumentos no son válidos. |
|
Error en la operación. |
Comentarios
Cuando se usa un cuadro de diálogo de tareas para indicar que el sistema tiene poca memoria, las cadenas a las que apuntan los distintos miembros de cadena e icono de la estructura TASKDIALOGCONFIG no deben tomarse de un archivo de recursos, ya que se puede producir un error al intentar cargar el recurso.
Si crea un cuadro de diálogo de tareas mientras hay un cuadro de diálogo, use un identificador para el cuadro de diálogo como parámetro hWndParent . El parámetro hWndParent no debe identificar una ventana secundaria, como un control en un cuadro de diálogo.
La ventana primaria no debe estar oculta o deshabilitada cuando se llama a esta función.
int nButtonPressed = 0;
TASKDIALOGCONFIG config = {0};
const TASKDIALOG_BUTTON buttons[] = {
{ IDOK, L"Change password" }
};
config.cbSize = sizeof(config);
config.hInstance = hInst;
config.dwCommonButtons = TDCBF_CANCEL_BUTTON;
config.pszMainIcon = TD_WARNING_ICON;
config.pszMainInstruction = L"Change Password";
config.pszContent = L"Remember your changed password.";
config.pButtons = buttons;
config.cButtons = ARRAYSIZE(buttons);
TaskDialogIndirect(&config, &nButtonPressed, NULL, NULL);
switch (nButtonPressed)
{
case IDOK:
break; // the user pressed button 0 (change password).
case IDCANCEL:
break; // user canceled the dialog
default:
break; // should never happen
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | commctrl.h (include Commctrl.h) |
Library | Comctl32.lib |
Archivo DLL | Comctl32.dll (versión 6) |
Consulte también