CTaskDialog (clase)
Un cuadro de diálogo emergente que funciona como un cuadro de mensaje pero que puede mostrar información adicional al usuario. CTaskDialog
también incluye funcionalidad para recopilar información del usuario.
Sintaxis
class CTaskDialog : public CObject
Miembros
Constructores
Nombre | Descripción |
---|---|
CTaskDialog::CTaskDialog | Construye un objeto CTaskDialog . |
Métodos
Nombre | Descripción |
---|---|
CTaskDialog::AddCommandControl | Agrega un control de botón de comando al objeto CTaskDialog . |
CTaskDialog::AddRadioButton | Agrega un botón de radio al objeto CTaskDialog . |
CTaskDialog::ClickCommandControl | Hace clic en un control de botón de comando o un botón común mediante programación. |
CTaskDialog::ClickRadioButton | Hace clic en un botón de radio mediante programación. |
CTaskDialog::DoModal | Muestra el CTaskDialog . |
CTaskDialog::GetCommonButtonCount | Recupera el número de botones comunes disponibles. |
CTaskDialog::GetCommonButtonFlag | Convierte un botón estándar de Windows en el tipo de botón común asociado a la clase CTaskDialog . |
CTaskDialog::GetCommonButtonId | Convierte uno de los tipos de botón común asociados a la clase CTaskDialog en un botón estándar de Windows. |
CTaskDialog::GetOptions | Devuelve las marcas de opción para este objeto CTaskDialog . |
CTaskDialog::GetSelectedCommandControlID | Devuelve el control de botón de comando seleccionado. |
CTaskDialog::GetSelectedRadioButtonID | Devuelve el botón de radio seleccionado. |
CTaskDialog::GetVerificationCheckboxState | Recupera el estado de la casilla de verificación. |
CTaskDialog::IsCommandControlEnabled | Determina si está habilitado un control de botón de comando o un botón común. |
CTaskDialog::IsRadioButtonEnabled | Determina si un botón de radio está habilitado. |
CTaskDialog::IsSupported | Determina si el equipo que ejecuta la aplicación admite el objeto CTaskDialog . |
CTaskDialog::LoadCommandControls | Agrega controles de botón de comando mediante el uso de datos de la tabla de cadenas. |
CTaskDialog::LoadRadioButtons | Agrega botones de radio mediante el uso de datos de la tabla de cadenas. |
CTaskDialog::NavigateTo | Transfiere el foco a otro objeto CTaskDialog . |
CTaskDialog::OnCommandControlClick | El marco llama a este método cuando el usuario hace clic en un control de botón de comando. |
CTaskDialog::OnCreate | El marco llama a este método después de crear el objeto CTaskDialog . |
CTaskDialog::OnDestroy | El marco llama a este método inmediatamente antes de destruir el objeto CTaskDialog . |
CTaskDialog::OnExpandButtonClick | El marco llama a este método cuando el usuario hace clic en el botón de expansión. |
CTaskDialog::OnHelp | El marco llama a este método cuando el usuario solicita ayuda. |
CTaskDialog::OnHyperlinkClick | El marco llama a este método cuando el usuario hace clic en un hipervínculo. |
CTaskDialog::OnInit | El marco llama a este método cuando se inicializa el objeto CTaskDialog . |
CTaskDialog::OnNavigatePage | El marco llama a este método cuando el usuario mueve el foco con respecto a los controles del objeto CTaskDialog . |
CTaskDialog::OnRadioButtonClick | El marco llama a este método cuando el usuario selecciona un control de botón de radio. |
CTaskDialog::OnTimer | El marco llama a este método cuando expira el temporizador. |
CTaskDialog::OnVerificationCheckboxClick | El marco llama a este método cuando el usuario hace clic en la casilla de verificación. |
CTaskDialog::RemoveAllCommandControls | Quita todos los controles de comando del objeto CTaskDialog . |
CTaskDialog::RemoveAllRadioButtons | Quita todos los botones de radio del objeto CTaskDialog . |
CTaskDialog::SetCommandControlOptions | Actualiza un control de botón de comando en el objeto CTaskDialog . |
CTaskDialog::SetCommonButtonOptions | Actualiza un subconjunto de botones comunes que se habilitarán y requerirán elevación de UAC. |
CTaskDialog::SetCommonButtons | Agrega botones comunes al objeto CTaskDialog . |
CTaskDialog::SetContent | Actualiza el contenido del objeto CTaskDialog . |
CTaskDialog::SetDefaultCommandControl | Especifica el control de botón de comando predeterminado. |
CTaskDialog::SetDefaultRadioButton | Especifica el botón de radio predeterminado. |
CTaskDialog::SetDialogWidth | Ajusta el ancho del objeto CTaskDialog . |
CTaskDialog::SetExpansionArea | Actualiza el área de expansión del objeto CTaskDialog . |
CTaskDialog::SetFooterIcon | Actualiza el icono de pie de página del objeto CTaskDialog . |
CTaskDialog::SetFooterText | Actualiza el texto del pie de página del objeto CTaskDialog . |
CTaskDialog::SetMainIcon | Actualiza el icono principal del objeto CTaskDialog . |
CTaskDialog::SetMainInstruction | Actualiza la instrucción principal del objeto CTaskDialog . |
CTaskDialog::SetOptions | Configura las opciones del objeto CTaskDialog . |
CTaskDialog::SetProgressBarMarquee | Configura una barra de marquesina para el objeto CTaskDialog y la agrega al cuadro de diálogo. |
CTaskDialog::SetProgressBarPosition | Ajusta la posición de la barra de progreso. |
CTaskDialog::SetProgressBarRange | Ajusta el intervalo de la barra de progreso. |
CTaskDialog::SetProgressBarState | Establece el estado de la barra de progreso y lo muestra en el objeto CTaskDialog . |
CTaskDialog::SetRadioButtonOptions | Habilita o deshabilita un botón de radio. |
CTaskDialog::SetVerificationCheckbox | Establece el estado activado de la casilla de verificación. |
CTaskDialog::SetVerificationCheckboxText | Establece el texto en el lado derecho de la casilla de verificación. |
CTaskDialog::SetWindowTitle | Establece el título del objeto CTaskDialog . |
CTaskDialog::ShowDialog | Crea y muestra un objeto CTaskDialog . |
CTaskDialog::TaskDialogCallback | El marco lo llama en respuesta a varios mensajes de Windows. |
Miembros de datos
Nombre | Descripción |
---|---|
m_aButtons |
Matriz de controles de botón de comando para el objeto CTaskDialog . |
m_aRadioButtons |
Matriz de controles de botón de radio para el objeto CTaskDialog . |
m_bVerified |
TRUE indica que la casilla de verificación está activada; FALSE indica que no lo está. |
m_footerIcon |
Icono del pie de página del objeto CTaskDialog . |
m_hWnd |
Identificador de la ventana para el objeto CTaskDialog . |
m_mainIcon |
Icono principal del objeto CTaskDialog . |
m_nButtonDisabled |
Máscara que indica cuáles de los botones comunes están deshabilitados. |
m_nButtonElevation |
Máscara que indica cuál de los botones comunes requiere elevación de UAC. |
m_nButtonId |
Identificador del control de botón de comando seleccionado. |
m_nCommonButton |
Máscara que indica qué botones comunes se muestran en el objeto CTaskDialog . |
m_nDefaultCommandControl |
Identificador del control de botón de comando que se selecciona cuando se muestra el objeto CTaskDialog . |
m_nDefaultRadioButton |
Identificador del control de botón de radio que se selecciona cuando se muestra el objeto CTaskDialog . |
m_nFlags |
Máscara que indica las opciones del objeto CTaskDialog . |
m_nProgressPos |
Posición actual de la barra de progreso. Dicho valor debe encontrarse entre m_nProgressRangeMin y m_nProgressRangeMax . |
m_nProgressRangeMax |
Valor máximo de la barra de progreso. |
m_nProgressRangeMin |
Valor mínimo de la barra de progreso. |
m_nProgressState |
Estado de la barra de progreso. Para obtener más información, consulte CTaskDialog::SetProgressBarState. |
m_nRadioId |
Identificador del control de botón de radio seleccionado. |
m_nWidth |
Ancho del control CTaskDialog , en píxeles. |
m_strCollapse |
Cadena que el objeto CTaskDialog muestra a la derecha del cuadro de expansión cuando se oculta la información expandida. |
m_strContent |
Cadena de contenido del objeto CTaskDialog . |
m_strExpand |
Cadena que el objeto CTaskDialog muestra a la derecha del cuadro de expansión cuando se muestra la información expandida. |
m_strFooter |
Pie de página del objeto CTaskDialog . |
m_strInformation |
Información expandida del objeto CTaskDialog . |
m_strMainInstruction |
Instrucción principal del objeto CTaskDialog . |
m_strTitle |
Título de .CTaskDialog |
m_strVerification |
Cadena que el objeto CTaskDialog muestra a la derecha de la casilla de verificación. |
Comentarios
La clase CTaskDialog
reemplaza el cuadro de mensaje estándar de Windows y tiene funcionalidad adicional, como nuevos controles para recopilar información del usuario. Esta clase se encuentra en la biblioteca MFC en Visual Studio 2010 y versiones posteriores. El objeto CTaskDialog
está disponible a partir de Windows Vista. Las versiones anteriores de Windows no pueden mostrar el objeto CTaskDialog
. Use CTaskDialog::IsSupported
para determinar en tiempo de ejecución si el usuario actual puede mostrar el cuadro de diálogo de la tarea. Todavía se admite el cuadro de mensaje estándar de Windows.
El objeto CTaskDialog
solo está disponible cuando se compila la aplicación mediante la biblioteca de Unicode.
El objeto CTaskDialog
tiene dos constructores diferentes. Un constructor permite especificar dos botones de comando y un máximo de seis controles de botón normales. Se pueden agregar más botones de comando después de crear el objeto CTaskDialog
. El segundo constructor no admite ningún botón de comando, pero se puede agregar un número ilimitado de controles de botón normales. Para obtener más información sobre los constructores, consulte CTaskDialog::CTaskDialog.
En la imagen siguiente se muestra un objeto CTaskDialog
de ejemplo para ilustrar la ubicación de algunos de los controles.
Ejemplo de objeto CTaskDialog
Requisitos
Sistema operativo mínimo necesario: Windows Vista
Encabezado: afxtaskdialog.h
CTaskDialog::AddCommandControl
Agrega un nuevo control de botón de comando al objeto CTaskDialog
.
void AddCommandControl(
int nCommandControlID,
const CString& strCaption,
BOOL bEnabled = TRUE,
BOOL bRequiresElevation = FALSE);
Parámetros
nCommandControlID
[in] Número de identificación del control de comando.
strCaption
[in] Cadena que el objeto CTaskDialog
muestra al usuario. Use esta cadena para explicar el propósito del comando.
bEnabled
[in] Parámetro booleano que indica si el botón nuevo está habilitado o deshabilitado.
bRequiresElevation
[in] Parámetro booleano que indica si un comando requiere elevación.
Comentarios
CTaskDialog Class
puede mostrar un número ilimitado de controles de botón de comando. Aun así, si un objeto CTaskDialog
muestra algún control de botón de comando, puede mostrar como máximo seis botones. Si un objeto CTaskDialog
no tiene controles de botón de comando, puede mostrar un número ilimitado de botones.
Cuando el usuario selecciona un control de botón de comando, el objeto CTaskDialog
se cierra. Si la aplicación muestra el cuadro de diálogo mediante CTaskDialog::DoModal, DoModal
devuelve el identificador nCommandControlID del control de botón de comando seleccionado.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::AddRadioButton
Agrega un botón de radio al objeto CTaskDialog
.
void CTaskDialog::AddRadioButton(
int nRadioButtonID,
const CString& strCaption,
BOOL bEnabled = TRUE);
Parámetros
nRadioButtonID
[in] Número de identificación del botón de radio.
strCaption
[in] Cadena que el objeto CTaskDialog
muestra junto al botón de radio.
bEnabled
[in] Parámetro booleano que indica si el botón de radio está habilitado.
Comentarios
Los botones de radio de la clase CTaskDialog permiten recopilar información del usuario. Use la función CTaskDialog::GetSelectedRadioButtonID para determinar qué botón de radio está seleccionado.
El objeto CTaskDialog
no requiere que los parámetros nRadioButtonID sean únicos para cada botón de radio. Aun así, puede experimentar un comportamiento inesperado si no usa un identificador distinto para cada botón de radio.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::ClickCommandControl
Hace clic en un control de botón de comando o un botón común mediante programación.
protected:
void ClickCommandControl(int nCommandControlID) const;
Parámetros
nCommandControlID
[in] Identificador de comando del control en el que se va a hacer clic.
Comentarios
Este método genera el mensaje de Windows TDM_CLICK_BUTTON.
CTaskDialog::ClickRadioButton
Hace clic en un botón de radio mediante programación.
protected:
void ClickRadioButton(int nRadioButtonID) const;
Parámetros
nRadioButtonID
[in] Identificador del botón de radio en el que se va a hacer clic.
Comentarios
Este método genera el mensaje de Windows TDM_CLICK_RADIO_BUTTON.
CTaskDialog::CTaskDialog
Crea una instancia de la clase CTaskDialog.
CTaskDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nCommonButtons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
CTaskDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nIDCommandControlsFirst,
int nIDCommandControlsLast,
int nCommonButtons,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
Parámetros
strContent
[in] Cadena que se va a usar para el contenido del objeto CTaskDialog
.
strMainInstruction
[in] Instrucción principal del objeto CTaskDialog
.
strTitle
[in] Título del objeto CTaskDialog
.
nCommonButtons
[in] Máscara de los botones comunes que se van a agregar al objeto CTaskDialog
.
nTaskDialogOptions
[in] Conjunto de opciones que se van a usar para el objeto CTaskDialog
.
strFooter
[in] Cadena que se va a usar como pie de página.
nIDCommandControlsFirst
[in] Identificador de cadena del primer comando.
nIDCommandControlsLast
[in] Identificador de cadena del último comando.
Comentarios
Hay dos maneras de agregar un objeto CTaskDialog
a la aplicación. La primera consiste en usar uno de los constructores para crear un objeto CTaskDialog
y mostrarlo mediante CTaskDialog::DoModal. La segunda es usar la función estática CTaskDialog::ShowDialog, que permite mostrar un objeto CTaskDialog
sin crear explícitamente un objeto CTaskDialog
.
El segundo constructor crea controles de botón de comando mediante el uso de datos del archivo de recursos de la aplicación. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados. Este método agrega un control de botón de comando para cada entrada válida de la tabla de cadenas entre nIDCommandControlsFirst y nCommandControlsLast, ambos incluidos. Para estos controles de botón de comando, la cadena de la tabla de cadenas es el título del control y el identificador de cadena es el identificador del control.
Consulte CTaskDialog::SetOptions para ver una lista de opciones válidas.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::DoModal
Muestra el objeto CTaskDialog
y lo convierte en modal.
INT_PTR DoModal (HWND hParent = ::GetActiveWindow());
Parámetros
hParent
[in] Ventana primaria del elemento CTaskDialog
.
Valor devuelto
Entero que se corresponde con la selección que ha realizado el usuario.
Comentarios
Muestra esta instancia del objeto CTaskDialog. Después, la aplicación espera a que el usuario cierre el cuadro de diálogo.
El objeto CTaskDialog
se cierra cuando el usuario selecciona un botón común, un control de vínculo de comando o cierra dicho objeto CTaskDialog
. El valor devuelto es el identificador que indica cómo cerró el usuario el cuadro de diálogo.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::GetCommonButtonCount
Recupera el número de botones comunes.
int GetCommonButtonCount() const;
Valor devuelto
Número de botones comunes disponibles.
Comentarios
Los botones comunes son los botones predeterminados que se proporcionan a CTaskDialog::CTaskDialog. La clase CTaskDialog muestra los botones en la parte inferior del cuadro de diálogo.
La lista enumerada de botones se proporciona en CommCtrl.h.
CTaskDialog::GetCommonButtonFlag
Convierte un botón estándar de Windows en el tipo de botón común asociado a la clase CTaskDialog.
int GetCommonButtonFlag(int nButtonId) const;
Parámetros
nButtonId
[in] Valor del botón estándar de Windows.
Valor devuelto
Valor del botón común del objeto CTaskDialog
correspondiente. Si no hay ningún botón común correspondiente, este método devuelve 0.
CTaskDialog::GetCommonButtonId
Convierte uno de los tipos de botón común asociados a la clase CTaskDialog en un botón estándar de Windows.
int GetCommonButtonId(int nFlag);
Parámetros
nFlag
[in] Tipo de botón común asociado a la clase CTaskDialog
.
Valor devuelto
Valor del botón estándar de Windows correspondiente. Si no hay ningún botón de Windows correspondiente, el método devuelve 0.
CTaskDialog::GetOptions
Devuelve las marcas de opción para este objeto CTaskDialog
.
int GetOptions() const;
Valor devuelto
Marcas para el objeto CTaskDialog
.
Comentarios
Para obtener más información sobre las opciones disponibles para la clase CTaskDialog, consulte CTaskDialog::SetOptions.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::GetSelectedCommandControlID
Devuelve el control de botón de comando seleccionado.
int GetSelectedCommandControlID() const;
Valor devuelto
Identificador del control de botón de comando seleccionado actualmente.
Comentarios
No es necesario usar este método para recuperar el identificador del botón de comando que ha seleccionado el usuario. Este identificador lo devuelve CTaskDialog::DoModal o CTaskDialog::ShowDialog.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::GetSelectedRadioButtonID
Devuelve el botón de radio seleccionado.
int GetSelectedRadioButtonID() const;
Valor devuelto
Identificador del botón de radio seleccionado.
Comentarios
Puede usar este método después de que el usuario cierre el cuadro de diálogo para recuperar el botón de radio seleccionado.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::GetVerificationCheckboxState
Recupera el estado de la casilla de verificación.
BOOL GetVerificationCheckboxState() const;
Valor devuelto
TRUE si la casilla está activada; FALSE si no lo está.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::IsCommandControlEnabled
Determina si está habilitado un control de botón de comando o un botón.
BOOL IsCommandControlEnabled(int nCommandControlID) const;
Parámetros
nCommandControlID
[in] Identificador del control de botón de comando o del botón que se va a probar.
Valor devuelto
TRUE si el control está habilitado; FALSE si no lo está.
Comentarios
Puede usar este método para determinar la disponibilidad de los controles de botón de comando y los botones comunes de la clase CTaskDialog
*.
Si nCommandControlID no es un identificador válido para un botón común del objeto CTaskDialog
o un control de botón de comando, este método produce una excepción.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::IsRadioButtonEnabled
Determina si un botón de radio está habilitado.
BOOL IsRadioButtonEnabled(int nRadioButtonID) const;
Parámetros
nRadioButtonID
[in] Identificador del botón de radio que se va a probar.
Valor devuelto
TRUE si el botón de radio está habilitado; FALSE si no lo está.
Comentarios
Si nRadioButtonID no es un identificador válido para un botón de radio, este método produce una excepción.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::IsSupported
Determina si el equipo que ejecuta la aplicación admite el objeto CTaskDialog
.
static BOOL IsSupported();
Valor devuelto
TRUE si el equipo admite el objeto CTaskDialog
; FALSE en caso contrario.
Comentarios
Use esta función para determinar en tiempo de ejecución si el equipo que ejecuta la aplicación admite la clase CTaskDialog
. Si el equipo no admite el objeto CTaskDialog
, debe proporcionar otro método para comunicar información al usuario. La aplicación se bloqueará si intenta usar un objeto CTaskDialog
en un equipo que no admite la clase CTaskDialog
.
Ejemplo
// TODO: Replace the string below with the actual message to the user
CString message("Important information to the user");
// TODO: Replace the string below with the title of this project
CString title("Project Title");
CString emptyString;
if (CTaskDialog::IsSupported())
{
CTaskDialog::ShowDialog(message, emptyString, title, 0, 0,
TDCBF_OK_BUTTON);
}
else
{
AfxMessageBox(message);
}
CTaskDialog::LoadCommandControls
Agrega controles de botón de comando mediante el uso de datos de la tabla de cadenas.
void LoadCommandControls(
int nIDCommandControlsFirst,
int nIDCommandControlsLast);
Parámetros
nIDCommandControlsFirst
[in] Identificador de cadena del primer comando.
nIDCommandControlsLast
[in] Identificador de cadena del último comando.
Comentarios
Este método crea controles de botón de comando mediante el uso de datos del archivo de recursos de la aplicación. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados. Los nuevos controles de botón de comando que agrega este método usan la cadena para el título del control y el identificador de cadena para el identificador del control. El intervalo de cadenas seleccionadas se proporciona mediante nIDCommandControlsFirst y nCommandControlsLast, ambos incluidos. Si hay una entrada vacía en el intervalo, el método no agrega un control de botón de comando para esa entrada.
De forma predeterminada, los nuevos controles de botón de comando están habilitados y no requieren elevación.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::LoadRadioButtons
Agrega controles de botón de radio mediante el uso de datos de la tabla de cadenas.
void LoadRadioButtons(
int nIDRadioButtonsFirst,
int nIDRadioButtonsLast);
Parámetros
nIDRadioButtonsFirst
[in] Identificador de cadena del primer botón de radio.
nIDRadioButtonsLast
[in] Identificador de cadena del último botón de radio.
Comentarios
Este método crea botones de radio mediante el uso de datos del archivo de recursos de la aplicación. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados. Los nuevos botones de radio agregados mediante este método usan la cadena para el título del botón de radio y el identificador de cadena para el identificador del botón de radio. El intervalo de cadenas seleccionadas se proporciona mediante nIDRadioButtonsFirst y nRadioButtonsLast, ambos incluidos. Si hay una entrada vacía en el intervalo, el método no agrega un botón de radio para esa entrada.
De forma predeterminada, los nuevos botones de radio están habilitados.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::NavigateTo
Transfiere el foco a otro objeto CTaskDialog
.
protected:
void NavigateTo(CTaskDialog& oTaskDialog) const;
Parámetros
oTaskDialog
[in] Objeto CTaskDialog
que recibe el foco.
Comentarios
Este método oculta el objeto CTaskDialog
actual cuando muestra oTaskDialog. oTaskDialog se muestra en la misma ubicación que el objeto CTaskDialog
actual.
CTaskDialog::OnCommandControlClick
El marco llama a este método cuando el usuario hace clic en un control de botón de comando.
virtual HRESULT OnCommandControlClick(int nCommandControlID);
Parámetros
nCommandControlID
[in] Identificador del control de botón de comando que ha seleccionado el usuario.
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnCreate
El marco llama a este método después de crear el objeto CTaskDialog
.
virtual HRESULT OnCreate();
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnDestroy
El marco llama a este método inmediatamente antes de destruir el objeto CTaskDialog
.
virtual HRESULT OnDestroy();
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnExpandButtonClick
El marco llama a este método cuando el usuario hace clic en el botón de expansión.
virtual HRESULT OnExpandButtonClicked(BOOL bExpanded);
Parámetros
bExpanded
[in] Un valor distinto de cero indica que se muestra la información adicional; 0 indica que la información adicional está oculta.
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnHelp
El marco llama a este método cuando el usuario solicita ayuda.
virtual HRESULT OnHelp();
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnHyperlinkClick
El marco llama a este método cuando el usuario hace clic en un hipervínculo.
virtual HRESULT OnHyperlinkClick(const CString& strHref);
Parámetros
strHref
[in] Cadena que representa el hipervínculo.
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Este método llama a ShellExecute antes de devolver S_OK.
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnInit
El marco llama a este método cuando se inicializa el objeto CTaskDialog
.
virtual HRESULT OnInit();
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnNavigatePage
El marco llama a este método en respuesta al método CTaskDialog::NavigateTo.
virtual HRESULT OnNavigatePage();
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnRadioButtonClick
El marco llama a este método cuando el usuario selecciona un control de botón de radio.
virtual HRESULT OnRadioButtonClick(int nRadioButtonID);
Parámetros
nRadioButtonID
[in] Identificador del control de botón de radio en el que el usuario ha hecho clic.
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnTimer
El marco llama a este método cuando expira el temporizador.
virtual HRESULT OnTimer(long lTime);
Parámetros
lTime
[in] Tiempo en milisegundos desde que se creó el objeto CTaskDialog
o se restableció el temporizador.
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::OnVerificationCheckboxClick
El marco llama a este método cuando el usuario hace clic en la casilla de verificación.
virtual HRESULT OnVerificationCheckboxClick(BOOL bChecked);
Parámetros
bChecked
[in] TRUE indica que la casilla de verificación está activada; FALSE indica que no lo está.
Valor devuelto
La implementación predeterminada devuelve S_OK.
Comentarios
Invalide este método en una clase derivada para implementar el comportamiento personalizado.
CTaskDialog::RemoveAllCommandControls
Quita todos los controles de botón de comando del objeto CTaskDialog
.
void RemoveAllCommandControls();
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::RemoveAllRadioButtons
Quita todos los botones de radio del objeto CTaskDialog
.
void RemoveAllRadioButtons();
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetCommandControlOptions
Actualiza un control de botón de comando en el objeto CTaskDialog
.
void SetCommandControlOptions(
int nCommandControlID,
BOOL bEnabled,
BOOL bRequiresElevation = FALSE);
Parámetros
nCommandControlID
[in] Identificador del control de comando que se va a actualizar.
bEnabled
[in] Parámetro booleano que indica si el control de botón de comando especificado está habilitado o deshabilitado.
bRequiresElevation
[in] Parámetro booleano que indica si el control de botón de comando especificado requiere elevación.
Comentarios
Use este método para cambiar si un control de botón de comando está habilitado o requiere elevación después de agregarlo a la clase CTaskDialog
.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::SetCommonButtonOptions
Actualiza un subconjunto de botones comunes que se habilitarán y requerirán elevación de UAC.
void SetCommonButtonOptions(
int nDisabledButtonMask,
int nElevationButtonMask = 0);
Parámetros
nDisabledButtonMask
[in] Máscara para los botones comunes que se van a deshabilitar.
nElevationButtonMask
[in] Máscara para los botones comunes que requieren elevación.
Comentarios
Puede establecer los botones comunes disponibles para una instancia de la clase CTaskDialog mediante el constructor CTaskDialog::CTaskDialog y el método CTaskDialog::SetCommonButtons. CTaskDialog::SetCommonButtonOptions
no admite la adición de nuevos botones comunes.
Si usa este método para deshabilitar o elevar un botón común que no está disponible para este objeto CTaskDialog
, el método produce una excepción mediante la macro ENSURE.
Este método habilita cualquier botón que esté disponible para el objeto CTaskDialog
, pero que no esté en nDisabledButtonMask, aunque se haya deshabilitado anteriormente. Este método trata la elevación de forma similar: registra botones comunes como si no requiriesen elevación si el botón común está disponible, pero no incluido en nElevationButtonMask.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title);
// Create a button mask.
int buttons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON;
buttons |= TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
taskDialog.SetCommonButtons(buttons);
// Disable the close button and make the retry button require
// elevation.
taskDialog.SetCommonButtonOptions(TDCBF_CLOSE_BUTTON,
TDCBF_RETRY_BUTTON);
taskDialog.DoModal();
CTaskDialog::SetCommonButtons
Agrega botones comunes al objeto CTaskDialog
.
void SetCommonButtons(
int nButtonMask,
int nDisabledButtonMask = 0,
int nElevationButtonMask = 0);
Parámetros
nButtonMask
[in] Máscara de los botones que se van a agregar al objeto CTaskDialog
.
nDisabledButtonMask
[in] Máscara de los botones que se van a deshabilitar.
nElevationButtonMask
[in] Máscara de los botones que requieren elevación.
Comentarios
No se puede llamar a este método después de crear la ventana de presentación de esta instancia de la clase CTaskDialog
. Si lo hace, este método produce una excepción.
Los botones que indica nButtonMask invalidan los botones comunes agregados anteriormente al objeto CTaskDialog
. Solo están disponibles los botones indicados en nButtonMask.
Si nDisabledButtonMask o nElevationButtonMask contienen un botón que no está en nButtonMask, este método produce una excepción mediante la macro ENSURE.
De forma predeterminada, todos los botones comunes están habilitados y no requieren elevación.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title);
// Create a button mask.
int buttons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON;
buttons |= TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
taskDialog.SetCommonButtons(buttons);
// Disable the close button and make the retry button require
// elevation.
taskDialog.SetCommonButtonOptions(TDCBF_CLOSE_BUTTON,
TDCBF_RETRY_BUTTON);
taskDialog.DoModal();
CTaskDialog::SetContent
Actualiza el contenido del objeto CTaskDialog
.
void SetContent(const CString& strContent);
Parámetros
strContent
[in] Cadena que se va a mostrar al usuario.
Comentarios
El contenido de la clase CTaskDialog
es el texto que se muestra al usuario en la sección principal del cuadro de diálogo.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetDefaultCommandControl
Especifica el control de botón de comando predeterminado.
void SetDefaultCommandControl(int nCommandControlID);
Parámetros
nCommandControlID
[in] Identificador del control de botón de comando que es el valor predeterminado.
Comentarios
El control de botón de comando predeterminado es el control que se selecciona cuando el objeto CTaskDialog
se muestra por primera vez al usuario.
Este método produce una excepción si no encuentra el control de botón de comando especificado por nCommandControlID.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::SetDefaultRadioButton
Especifica el botón de radio predeterminado.
void SetDefaultRadioButton(int nRadioButtonID);
Parámetros
nRadioButtonID
[in] Identificador del botón de radio que será el valor predeterminado.
Comentarios
El botón de radio predeterminado es el botón que se selecciona cuando el objeto CTaskDialog
se muestra por primera vez al usuario.
Este método produce una excepción si no encuentra el botón de radio especificado por nRadioButtonID.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetDialogWidth
Ajusta el ancho del objeto CTaskDialog
.
void SetDialogWidth(int nWidth = 0);
Parámetros
nWidth
[in] Ancho del cuadro de diálogo en píxeles.
Comentarios
El parámetro nWidth debe ser mayor que o igual a 0. De lo contrario, este método produce una excepción.
Si nWidth se establece en 0, este método establece el cuadro de diálogo en el tamaño predeterminado.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetExpansionArea
Actualiza el área de expansión del objeto CTaskDialog
.
void SetExpansionArea(
const CString& strExpandedInformation,
const CString& strCollapsedLabel = _T(""),
const CString& strExpandedLabel = _T(""));
Parámetros
strExpandedInformation
[in] Cadena que el objeto CTaskDialog
muestra en el cuerpo principal del cuadro de diálogo cuando el usuario hace clic en el botón de expansión.
strCollapsedLabel
[in] Cadena que el objeto CTaskDialog
muestra junto al botón de expansión cuando se contrae el área expandida.
strExpandedLabel
[in] Cadena que el objeto CTaskDialog
muestra junto al botón de expansión cuando se muestra el área expandida.
Comentarios
El área de expansión de la clase CTaskDialog
permite proporcionar información adicional al usuario. El área de expansión se encuentra en la parte principal del objeto CTaskDialog
, situada inmediatamente debajo del título y la cadena de contenido.
Cuando el objeto CTaskDialog
aparece por primera vez, no muestra la información expandida y coloca strCollapsedLabel
junto al botón de expansión. Cuando el usuario hace clic en el botón de expansión, el objeto CTaskDialog
muestra strExpandedInformation y cambia la etiqueta a strExpandedLabel.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetFooterIcon
Actualiza el icono de pie de página del objeto CTaskDialog
.
void SetFooterIcon(HICON hFooterIcon);
void SetFooterIcon(LPCWSTR lpszFooterIcon);
Parámetros
hFooterIcon
[in] Nuevo icono del objeto CTaskDialog
.
lpszFooterIcon
[in] Nuevo icono del objeto CTaskDialog
.
Comentarios
El icono de pie de página se muestra en la parte inferior de la clase CTaskDialog. Puede tener texto de pie de página asociado. Puede cambiar el texto del pie de página con CTaskDialog::SetFooterText.
Este método produce una excepción con la macro ENSURE si se muestra el objeto CTaskDialog
o si el parámetro de entrada es NULL.
Un objeto CTaskDialog
solo puede aceptar HICON
o LPCWSTR
como icono de pie de página. Para configurarlo, se establece la opción TDF_USE_HICON_FOOTER en el constructor o CTaskDialog::SetOptions. De forma predeterminada, el objeto CTaskDialog
está configurado para usar LPCWSTR
como tipo de entrada para el icono de pie de página. Este método genera una excepción si se intenta establecer el icono con un tipo incorrecto.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetFooterText
Actualiza el texto del pie de página del objeto CTaskDialog
.
void SetFooterText(const CString& strFooterText);
Parámetros
strFooterText
[in] Nuevo texto del pie de página.
Comentarios
El icono de pie de página aparece junto al texto del pie de página en la parte inferior del objeto CTaskDialog
. Puede cambiar el icono del pie de página con CTaskDialog::SetFooterIcon.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetMainIcon
Actualiza el icono principal del objeto CTaskDialog
.
void SetMainIcon(HICON hMainIcon);
void SetMainIcon(LPCWSTR lpszMainIcon);
Parámetros
hMainIcon
[in] Icono nuevo.
lpszMainIcon
[in] Icono nuevo.
Comentarios
Este método produce una excepción con la macro ENSURE si se muestra el objeto CTaskDialog
o si el parámetro de entrada es NULL.
Un objeto CTaskDialog
solo puede aceptar HICON
o LPCWSTR
como icono principal. Para configurarlo, establezca la opción TDF_USE_HICON_MAIN en el constructor o en el método CTaskDialog::SetOptions. De forma predeterminada, el objeto CTaskDialog
está configurado para usar LPCWSTR
como tipo de entrada para el icono principal. Este método genera una excepción si se intenta establecer el icono con un tipo incorrecto.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetMainInstruction
Actualiza la instrucción principal del objeto CTaskDialog
.
void SetMainInstruction(const CString& strInstructions);
Parámetros
strInstructions
[in] Nueva instrucción principal.
Comentarios
La instrucción principal de la clase CTaskDialog
es el texto que se muestra al usuario en una fuente en negrita grande. Se encuentra en el cuadro de diálogo debajo de la barra de título.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetOptions
Configura las opciones del objeto CTaskDialog
.
void SetOptions(int nOptionFlag);
Parámetros
nOptionFlag
[in] Conjunto de marcas que se van a usar para el objeto CTaskDialog
.
Comentarios
Este método borra todas las opciones actuales del objeto CTaskDialog
. Para conservar las opciones actuales, primero debe recuperarlas con CTaskDialog::GetOptions y combinarlas con las opciones que quiere establecer.
En la tabla siguiente se enumeran todas las opciones válidas.
Nombre | Descripción |
---|---|
TDF_ENABLE_HYPERLINKS | Habilita los hipervínculos en el objeto CTaskDialog . |
TDF_USE_HICON_MAIN | Configura el objeto CTaskDialog de modo que use HICON para el icono principal. La alternativa es usar LPCWSTR . |
TDF_USE_HICON_FOOTER | Configura el objeto CTaskDialog de modo que use HICON para el icono de pie de página. La alternativa es usar LPCWSTR . |
TDF_ALLOW_DIALOG_CANCELLATION | Permite al usuario cerrar el objeto CTaskDialog mediante el teclado o el icono de la esquina superior derecha del cuadro de diálogo, incluso si el botón Cancelar no está habilitado. Si no se establece esta marca y el botón Cancelar no está habilitado, el usuario no puede cerrar el cuadro de diálogo mediante Alt+F4, la tecla Escape o el botón Cerrar de la barra de título. |
TDF_USE_COMMAND_LINKS | Configura el objeto CTaskDialog de modo que use controles de botón de comando. |
TDF_USE_COMMAND_LINKS_NO_ICON | Configura el objeto CTaskDialog de modo que use controles de botón de comando sin mostrar un icono junto al control. TDF_USE_COMMAND_LINKS invalida TDF_USE_COMMAND_LINKS_NO_ICON. |
TDF_EXPAND_FOOTER_AREA | Indica que el área de expansión está expandida actualmente. |
TDF_EXPANDED_BY_DEFAULT | Determina si el área de expansión se expande de forma predeterminada. |
TDF_VERIFICATION_FLAG_CHECKED | Indica que la casilla de verificación está activada actualmente. |
TDF_SHOW_PROGRESS_BAR | Configura el objeto CTaskDialog de modo que muestre una barra de progreso. |
TDF_SHOW_MARQUEE_PROGRESS_BAR | Configura la barra de progreso para que sea una barra de progreso de marquesina. Si habilita esta opción, debe establecer TDF_SHOW_PROGRESS_BAR de modo que tenga el comportamiento esperado. |
TDF_CALLBACK_TIMER | Indica que el intervalo de devolución de llamada del objeto CTaskDialog se establece en aproximadamente 200 milisegundos. |
TDF_POSITION_RELATIVE_TO_WINDOW | Configura el objeto CTaskDialog de modo que centre en relación con la ventana primaria. Si esta marca no está habilitada, el objeto CTaskDialog se centra en relación con el monitor. |
TDF_RTL_LAYOUT | Configura el objeto CTaskDialog para un diseño de lectura de derecha a izquierda. |
TDF_NO_DEFAULT_RADIO_BUTTON | Indica que no se selecciona ningún botón de radio cuando aparece el objeto CTaskDialog . |
TDF_CAN_BE_MINIMIZED | Permite al usuario minimizar el objeto CTaskDialog . Para admitir esta opción, el objeto CTaskDialog no puede ser modal. MFC no admite esta opción porque MFC no admite los objetos CTaskDialog no modales. |
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetProgressBarMarquee
Configura una barra de marquesina para el objeto CTaskDialog
y la agrega al cuadro de diálogo.
void SetProgressBarMarquee(
BOOL bEnabled = TRUE,
int nMarqueeSpeed = 0);
Parámetros
bEnabled
[in] TRUE para habilitar la barra de marquesina; FALSE para deshabilitar la barra de marquesina y quitarla del objeto CTaskDialog
.
nMarqueeSpeed
[in] Entero que indica la velocidad de la barra de marquesina.
Comentarios
La barra de marquesina aparece debajo del texto principal de la clase CTaskDialog
.
Use nMarqueeSpeed para establecer la velocidad de la barra de marquesina; los valores más grandes indican una velocidad más lenta. Un valor de 0 para nMarqueeSpeed hace que la barra de marquesina se mueva a la velocidad predeterminada para Windows.
Este método produce una excepción con la macro ENSURE si nMarqueeSpeed es menor que 0.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarPosition
Ajusta la posición de la barra de progreso.
void SetProgressBarPosition(int nProgressPos);
Parámetros
nProgressPos
[in] Posición de la barra de progreso.
Comentarios
Este método produce una excepción con la macro ENSURE si nProgressPos no está en el intervalo de la barra de progreso. Se puede cambiar el intervalo de la barra de progreso con CTaskDialog::SetProgressBarRange.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarRange
Ajusta el intervalo de la barra de progreso.
void SetProgressBarRange(
int nRangeMin,
int nRangeMax);
Parámetros
nRangeMin
[in] Límite inferior de la barra de progreso.
nRangeMax
[in] Límite superior de la barra de progreso.
Comentarios
La posición de la barra de progreso es relativa a nRangeMin y nRangeMax. Por ejemplo, si nRangeMin es 50 y nRangeMax es 100, una posición de 75 está en la mitad de la barra de progreso. Use CTaskDialog::SetProgressBarPosition para establecer la posición de la barra de progreso.
Para mostrar la barra de progreso, la opción TDF_SHOW_PROGRESS_BAR debe estar habilitada y TDF_SHOW_MARQUEE_PROGRESS_BAR no debe estar habilitada. Este método establece automáticamente TDF_SHOW_PROGRESS_BAR y borra TDF_SHOW_MARQUEE_PROGRESS_BAR. Use CTaskDialog::SetOptions para cambiar manualmente las opciones de esta instancia de la clase CTaskDialog.
Este método produce una excepción con la macro ENSURE si nRangeMin no es menor que nRangeMax. Este método también produce una excepción si el objeto CTaskDialog
ya se muestra y tiene una barra de progreso de marquesina.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarState
Establece el estado de la barra de progreso y lo muestra en el objeto CTaskDialog
.
void SetProgressBarState(int nState = PBST_NORMAL);
Parámetros
nState
[in] Estado de la barra de progreso. Vaya a la sección Comentarios para consultar los valores posibles.
Comentarios
Este método produce una excepción con la macro ENSURE si el objeto CTaskDialog
ya se muestra y tiene una barra de progreso de marquesina.
En la siguiente tabla se muestran los posibles valores para nState. En todos estos casos, la barra de progreso se rellenará con el color normal hasta que alcance la posición de parada designada. En ese momento cambiará el color en función del estado.
Nombre | Descripción |
---|---|
PBST_NORMAL | Una vez que se ha rellenado la barra de progreso, el objeto CTaskDialog no cambia el color de la barra. De forma predeterminada, el color normal es verde. |
PBST_ERROR | Una vez que se ha rellenado la barra de progreso, el objeto CTaskDialog cambia el color de la barra al color de error. De manera predeterminada, es el color rojo. |
PBST_PAUSED | Una vez que se ha rellenado la barra de progreso, el objeto CTaskDialog cambia el color de la barra al color de pausa. De forma predeterminada, es el color amarillo. |
Puede establecer dónde se detiene la barra de progreso con CTaskDialog::SetProgressBarPosition.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetRadioButtonOptions
Habilita o deshabilita un botón de radio.
void SetRadioButtonOptions(
int nRadioButtonID,
BOOL bEnabled);
Parámetros
nRadioButtonID
[in] Identificador del control de botón de radio.
bEnabled
[in] TRUE para habilitar el botón de radio; FALSE para deshabilitarlo.
Comentarios
Este método produce una excepción con la macro ENSURE si nRadioButtonID no es un identificador válido para un botón de radio.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetVerificationCheckbox
Establece el estado activado de la casilla de verificación.
void SetVerificationCheckbox(BOOL bChecked);
Parámetros
bChecked
[in] TRUE para que la casilla de verificación esté activada cuando se muestre el objeto CTaskDialog
; FALSE para que la casilla de verificación esté desactivada cuando se muestre el objeto CTaskDialog
.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::SetVerificationCheckboxText
Establece el texto que se muestra a la derecha de la casilla de verificación.
void SetVerificationCheckboxText(CString& strVerificationText);
Parámetros
strVerificationText
[in] Texto que este método muestra junto a la casilla de verificación.
Comentarios
Este método produce una excepción con la macro ENSURE si esta instancia de la clase CTaskDialog
ya se muestra.
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::SetWindowTitle
Establece el título del objeto CTaskDialog
.
void SetWindowTitle(CString& strWindowTitle);
Parámetros
strWindowTitle
[in] Nuevo título del objeto CTaskDialog
.
Comentarios
Ejemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::ShowDialog
Crea y muestra un objeto CTaskDialog
.
static INT_PTR ShowDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nIDCommandControlsFirst,
int nIDCommandControlsLast,
int nCommonButtons = TDCBF_YES_BUTTON | TDCBF_NO_BUTTON,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
Parámetros
strContent
[in] Cadena que se va a usar para el contenido del objeto CTaskDialog
.
strMainInstruction
[in] Instrucción principal del objeto CTaskDialog
.
strTitle
[in] Título del objeto CTaskDialog
.
nIDCommandControlsFirst
[in] Identificador de cadena del primer comando.
nIDCommandControlsLast
[in] Identificador de cadena del último comando.
nCommonButtons
[in] Máscara de los botones que se van a agregar al objeto CTaskDialog
.
nTaskDialogOptions
[in] Conjunto de opciones que se van a usar para el objeto CTaskDialog
.
strFooter
[in] Cadena que se va a usar como pie de página.
Valor devuelto
Entero que se corresponde con la selección que ha realizado el usuario.
Comentarios
Este método estático permite crear una instancia de la clase CTaskDialog
sin crear explícitamente un objeto CTaskDialog
en el código. Dado que no hay ningún objeto CTaskDialog
, no se puede llamar a ningún otro método de CTaskDialog
si se usa este método para mostrar un objeto CTaskDialog
al usuario.
Este método crea controles de botón de comando mediante el uso de datos del archivo de recursos de la aplicación. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados. Este método agrega un control de botón de comando para cada entrada válida de la tabla de cadenas entre nIDCommandControlsFirst y nCommandControlsLast, ambos incluidos. Para estos controles de botón de comando, la cadena de la tabla de cadenas es el título del control y el identificador de cadena es el identificador del control.
Consulte CTaskDialog::SetOptions para ver una lista de opciones válidas.
El objeto CTaskDialog
se cierra cuando el usuario selecciona un botón común, un control de vínculo de comando o cierra dicho objeto CTaskDialog
. El valor devuelto es el identificador que indica cómo cerró el usuario el cuadro de diálogo.
Ejemplo
// TODO: Replace the string below with the actual message to the user
CString message("Important information to the user");
// TODO: Replace the string below with the title of this project
CString title("Project Title");
CString emptyString;
if (CTaskDialog::IsSupported())
{
CTaskDialog::ShowDialog(message, emptyString, title, 0, 0,
TDCBF_OK_BUTTON);
}
else
{
AfxMessageBox(message);
}
CTaskDialog::TaskDialogCallback
El marco llama a este método en respuesta a varios mensajes de Windows.
friend:
HRESULT TaskDialogCallback(
HWND hWnd,
UINT uNotification,
WPARAM wParam,
LPARAM lParam,
LONG_PTR dwRefData);
Parámetros
hwnd
[in] Identificador de la estructura m_hWnd
del objeto CTaskDialog
.
uNotification
[in] Código de notificación que especifica el mensaje generado.
wParam
[in] Más información sobre el mensaje.
lParam
[in] Más información sobre el mensaje.
dwRefData
[in] Puntero al objeto CTaskDialog
al que se aplica el mensaje de devolución de llamada.
Valor devuelto
Depende del código de notificación específico. Vea la sección Comentarios para obtener más información.
Comentarios
La implementación predeterminada de TaskDialogCallback
controla el mensaje específico y, luego, llama al método On adecuado de la clase CTaskDialog. Por ejemplo, en respuesta al mensaje TDN_BUTTON_CLICKED, TaskDialogCallback
llama a CTaskDialog::OnCommandControlClick.
Los valores de wParam y de lParam dependen del mensaje generado específico. Es posible que uno de los valores o ambos estén vacíos. En la tabla siguiente se muestran las notificaciones predeterminadas que se admiten y qué representan los valores de wParam y de lParam. Si invalida este método en una clase derivada, debe implementar el código de devolución de llamada para cada mensaje de la tabla siguiente.
Mensaje de notificación | Valor de wParam | Valor de lParam |
---|---|---|
TDN_CREATED | No se utiliza. | No se utiliza. |
TDN_NAVIGATED | No se utiliza. | No se utiliza. |
TDN_BUTTON_CLICKED | Identificador del control de botón de comando. | No utilizado. |
TDN_HYPERLINK_CLICKED | No utilizado. | Estructura LPCWSTR que contiene el vínculo. |
TDN_TIMER | Tiempo en milisegundos desde que se creó el objeto CTaskDialog o se restableció el temporizador. |
No utilizado. |
TDN_DESTROYED | No se utiliza. | No se utiliza. |
TDN_RADIO_BUTTON_CLICKED | Identificador del botón de radio. | No utilizado. |
TDN_DIALOG_CONSTRUCTED | No se utiliza. | No se utiliza. |
TDN_VERIFICATION_CLICKED | 1 si la casilla está activada; 0 si no lo está. | No utilizado. |
TDN_HELP | No se utiliza. | No se utiliza. |
TDN_EXPANDO_BUTTON_CLICKED | 0 si el área de expansión está contraída; distinto de cero si se muestra el texto de expansión. | No utilizado. |
Consulte también
Clases
CObject (clase)
Gráfico de jerarquías
Tutorial: Agregar una clase CTaskDialog a una aplicación