CTaskDialog ClassCTaskDialog Class

Un cuadro de diálogo emergente que funciona como un cuadro de mensaje pero que puede mostrar información adicional al usuario.A pop-up dialog box that functions like a message box but can display additional information to the user. CTaskDialog también incluye funcionalidad para recopilar información del usuario.The CTaskDialog also includes functionality for gathering information from the user.

SintaxisSyntax

class CTaskDialog : public CObject

MiembrosMembers

ConstructoresConstructors

NombreName DescripciónDescription
Clase CTaskDialog:: clase CTaskDialogCTaskDialog::CTaskDialog Construye un objeto CTaskDialog.Constructs a CTaskDialog object.

MétodosMethods

NombreName DescripciónDescription
Clase CTaskDialog:: AddCommandControlCTaskDialog::AddCommandControl Agrega un control de botón de comando a CTaskDialog .Adds a command button control to the CTaskDialog.
Clase CTaskDialog:: AddRadioButtonCTaskDialog::AddRadioButton Agrega un botón de radio a la CTaskDialog .Adds a radio button to the CTaskDialog.
Clase CTaskDialog:: ClickCommandControlCTaskDialog::ClickCommandControl Hace clic en un control de botón de comando o en un botón común mediante programación.Clicks a command button control or common button programmatically.
Clase CTaskDialog:: ClickRadioButtonCTaskDialog::ClickRadioButton Hace clic en un botón de radio mediante programación.Clicks a radio button programmatically.
Clase CTaskDialog::D oModalCTaskDialog::DoModal Muestra el CTaskDialog.Displays the CTaskDialog.
Clase CTaskDialog:: GetCommonButtonCountCTaskDialog::GetCommonButtonCount Recupera el número de botones comunes disponibles.Retrieves the number of common buttons available.
Clase CTaskDialog:: GetCommonButtonFlagCTaskDialog::GetCommonButtonFlag Convierte un botón estándar de Windows en el tipo de botón común asociado a la CTaskDialog clase.Converts a standard Windows button to the common button type associated with the CTaskDialog class.
Clase CTaskDialog:: GetCommonButtonIdCTaskDialog::GetCommonButtonId Convierte uno de los tipos de botón comunes asociados a la CTaskDialog clase en un botón estándar de Windows.Converts one of the common button types associated with the CTaskDialog class to a standard Windows button.
Clase CTaskDialog:: GetOptionsCTaskDialog::GetOptions Devuelve las marcas de opción para este CTaskDialog .Returns the option flags for this CTaskDialog.
Clase CTaskDialog:: GetSelectedCommandControlIDCTaskDialog::GetSelectedCommandControlID Devuelve el control de botón de comando seleccionado.Returns the selected command button control.
Clase CTaskDialog:: GetSelectedRadioButtonIDCTaskDialog::GetSelectedRadioButtonID Devuelve el botón de radio seleccionado.Returns the selected radio button.
Clase CTaskDialog:: GetVerificationCheckboxStateCTaskDialog::GetVerificationCheckboxState Recupera el estado de la casilla de verificación.Retrieves the state of the verification check box.
Clase CTaskDialog:: IsCommandControlEnabledCTaskDialog::IsCommandControlEnabled Determina si está habilitado un control de botón de comando o un botón común.Determines whether a command button control or common button is enabled.
Clase CTaskDialog:: IsRadioButtonEnabledCTaskDialog::IsRadioButtonEnabled Determina si está habilitado un botón de radio.Determines whether a radio button is enabled.
Clase CTaskDialog:: IsSupportedCTaskDialog::IsSupported Determina si el equipo que ejecuta la aplicación admite CTaskDialog .Determines whether the computer that is running the application supports the CTaskDialog.
Clase CTaskDialog:: LoadCommandControlsCTaskDialog::LoadCommandControls Agrega controles de botón de comando mediante el uso de datos de la tabla de cadenas.Adds command button controls by using data from the string table.
Clase CTaskDialog:: LoadRadioButtonsCTaskDialog::LoadRadioButtons Agrega botones de radio mediante los datos de la tabla de cadenas.Adds radio buttons by using data from the string table.
Clase CTaskDialog:: navigatoCTaskDialog::NavigateTo Transfiere el foco a otro CTaskDialog .Transfers the focus to another CTaskDialog.
Clase CTaskDialog:: OnCommandControlClickCTaskDialog::OnCommandControlClick El marco de trabajo llama a este método cuando el usuario hace clic en un control de botón de comando.The framework calls this method when the user clicks a command button control.
Clase CTaskDialog:: alcrearCTaskDialog::OnCreate El marco de trabajo llama a este método después de crear el CTaskDialog .The framework calls this method after it creates the CTaskDialog.
Clase CTaskDialog:: aldestruirCTaskDialog::OnDestroy El marco de trabajo llama a este método inmediatamente antes de que destruya el CTaskDialog .The framework calls this method immediately before it destroys the CTaskDialog.
Clase CTaskDialog:: OnExpandButtonClickCTaskDialog::OnExpandButtonClick El marco de trabajo llama a este método cuando el usuario hace clic en el botón de expansión.The framework calls this method when the user clicks on the expansion button.
Clase CTaskDialog:: onhelpCTaskDialog::OnHelp El marco de trabajo llama a este método cuando el usuario solicita ayuda.The framework calls this method when the user requests help.
Clase CTaskDialog:: OnHyperlinkClickCTaskDialog::OnHyperlinkClick El marco de trabajo llama a este método cuando el usuario hace clic en un hipervínculo.The framework calls this method when the user clicks on a hyperlink.
Clase CTaskDialog:: OnInitCTaskDialog::OnInit El marco de trabajo llama a este método cuando CTaskDialog se inicializa.The framework calls this method when the CTaskDialog is initialized.
Clase CTaskDialog:: OnNavigatePageCTaskDialog::OnNavigatePage El marco de trabajo llama a este método cuando el usuario mueve el foco con respecto a los controles de CTaskDialog .The framework calls this method when the user moves the focus with regard to controls on the CTaskDialog.
Clase CTaskDialog:: OnRadioButtonClickCTaskDialog::OnRadioButtonClick El marco de trabajo llama a este método cuando el usuario selecciona un control de botón de radio.The framework calls this method when the user selects a radio button control.
Clase CTaskDialog:: altimerCTaskDialog::OnTimer El marco de trabajo llama a este método cuando el temporizador expira.The framework calls this method when the timer expires.
Clase CTaskDialog:: OnVerificationCheckboxClickCTaskDialog::OnVerificationCheckboxClick El marco de trabajo llama a este método cuando el usuario hace clic en la casilla de verificación.The framework calls this method when the user clicks the verification check box.
Clase CTaskDialog:: RemoveAllCommandControlsCTaskDialog::RemoveAllCommandControls Quita todos los controles de comando de CTaskDialog .Removes all the command controls from the CTaskDialog.
Clase CTaskDialog:: RemoveAllRadioButtonsCTaskDialog::RemoveAllRadioButtons Quita todos los botones de radio de CTaskDialog .Removes all the radio buttons from the CTaskDialog.
Clase CTaskDialog:: SetCommandControlOptionsCTaskDialog::SetCommandControlOptions Actualiza un control de botón de comando en CTaskDialog .Updates a command button control on the CTaskDialog.
Clase CTaskDialog:: SetCommonButtonOptionsCTaskDialog::SetCommonButtonOptions Actualiza un subconjunto de botones comunes que se van a habilitar y requiere elevación de UAC.Updates a subset of common buttons to be enabled and require UAC elevation.
Clase CTaskDialog:: SetCommonButtonsCTaskDialog::SetCommonButtons Agrega botones comunes al CTaskDialog .Adds common buttons to the CTaskDialog.
Clase CTaskDialog:: SetContentCTaskDialog::SetContent Actualiza el contenido de CTaskDialog .Updates the content of the CTaskDialog.
Clase CTaskDialog:: SetDefaultCommandControlCTaskDialog::SetDefaultCommandControl Especifica el control de botón de comando predeterminado.Specifies the default command button control.
Clase CTaskDialog:: SetDefaultRadioButtonCTaskDialog::SetDefaultRadioButton Especifica el botón de radio predeterminado.Specifies the default radio button.
Clase CTaskDialog:: SetDialogWidthCTaskDialog::SetDialogWidth Ajusta el ancho de CTaskDialog .Adjusts the width of the CTaskDialog.
Clase CTaskDialog:: SetExpansionAreaCTaskDialog::SetExpansionArea Actualiza el área de expansión de CTaskDialog .Updates the expansion area of the CTaskDialog.
Clase CTaskDialog:: SetFooterIconCTaskDialog::SetFooterIcon Actualiza el icono de pie de página del CTaskDialog .Updates the footer icon for the CTaskDialog.
Clase CTaskDialog:: SetFooterTextCTaskDialog::SetFooterText Actualiza el texto en el pie de página de CTaskDialog .Updates the text on the footer of the CTaskDialog.
Clase CTaskDialog:: SetMainIconCTaskDialog::SetMainIcon Actualiza el icono principal de CTaskDialog .Updates the main icon of the CTaskDialog.
Clase CTaskDialog:: SetMainInstructionCTaskDialog::SetMainInstruction Actualiza la instrucción principal del CTaskDialog .Updates the main instruction of the CTaskDialog.
Clase CTaskDialog:: SetOptionsCTaskDialog::SetOptions Configura las opciones para CTaskDialog .Configures the options for the CTaskDialog.
Clase CTaskDialog:: SetProgressBarMarqueeCTaskDialog::SetProgressBarMarquee Configura una barra de Marquesina para el CTaskDialog y lo agrega al cuadro de diálogo.Configures a marquee bar for the CTaskDialog and adds it to the dialog box.
Clase CTaskDialog:: SetProgressBarPositionCTaskDialog::SetProgressBarPosition Ajusta la posición de la barra de progreso.Adjusts the position of the progress bar.
Clase CTaskDialog:: SetProgressBarRangeCTaskDialog::SetProgressBarRange Ajusta el intervalo de la barra de progreso.Adjusts the range of the progress bar.
Clase CTaskDialog:: SetProgressBarStateCTaskDialog::SetProgressBarState Establece el estado de la barra de progreso y lo muestra en CTaskDialog .Sets the state of the progress bar and displays it on the CTaskDialog.
Clase CTaskDialog:: SetRadioButtonOptionsCTaskDialog::SetRadioButtonOptions Habilita o deshabilita un botón de radio.Enables or disables a radio button.
Clase CTaskDialog:: SetVerificationCheckboxCTaskDialog::SetVerificationCheckbox Establece el estado activado de la casilla de verificación.Sets the checked state of the verification check box.
Clase CTaskDialog:: SetVerificationCheckboxTextCTaskDialog::SetVerificationCheckboxText Establece el texto del lado derecho de la casilla de verificación.Sets the text on the right side of the verification check box.
Clase CTaskDialog:: SetWindowTitleCTaskDialog::SetWindowTitle Establece el título del CTaskDialog .Sets the title of the CTaskDialog.
Clase CTaskDialog:: ShowDialogCTaskDialog::ShowDialog Crea y muestra un CTaskDialog .Creates and displays a CTaskDialog.
Clase CTaskDialog:: TaskDialogCallbackCTaskDialog::TaskDialogCallback El marco de trabajo llama a este en respuesta a varios mensajes de Windows.The framework calls this in response to various Windows messages.

Miembros de datosData Members

NombreName DescripciónDescription
m_aButtons Matriz de controles de botón de comando para CTaskDialog .The array of command button controls for the CTaskDialog.
m_aRadioButtons Matriz de controles de botón de radio para CTaskDialog .The array of radio button controls for the CTaskDialog.
m_bVerified TRUE indica que la casilla de verificación está activada; FALSE indica que no lo es.TRUE indicates the verification check box is checked; FALSE indicates it is not.
m_footerIcon Icono del pie de página de CTaskDialog .The icon in the footer of the CTaskDialog.
m_hWnd Identificador de la ventana de CTaskDialog .A handle to the window for the CTaskDialog.
m_mainIcon Icono principal de CTaskDialog .The main icon of the CTaskDialog.
m_nButtonDisabled Máscara que indica cuál de los botones comunes están deshabilitados.A mask that indicates which of the common buttons are disabled.
m_nButtonElevation Máscara que indica cuál de los botones comunes requiere elevación de UAC.A mask that indicates which of the common buttons require UAC elevation.
m_nButtonId IDENTIFICADOR del control de botón de comando seleccionado.The ID of the selected command button control.
m_nCommonButton Máscara que indica qué botones comunes se muestran en CTaskDialog .A mask that indicates which common buttons are displayed on the CTaskDialog.
m_nDefaultCommandControl IDENTIFICADOR del control de botón de comando que se selecciona cuando CTaskDialog se muestra.The ID of the command button control that is selected when the CTaskDialog is displayed.
m_nDefaultRadioButton IDENTIFICADOR del control de botón de radio que se selecciona cuando CTaskDialog se muestra.The ID of the radio button control that is selected when the CTaskDialog is displayed.
m_nFlags Máscara que indica las opciones de CTaskDialog .A mask that indicates the options for the CTaskDialog.
m_nProgressPos La posición actual de la barra de progreso.The current position for the progress bar. Dicho valor debe encontrarse entre m_nProgressRangeMin y m_nProgressRangeMax.This value must be between m_nProgressRangeMin and m_nProgressRangeMax.
m_nProgressRangeMax Valor máximo de la barra de progreso.The maximum value for the progress bar.
m_nProgressRangeMin Valor mínimo de la barra de progreso.The minimum value for the progress bar.
m_nProgressState Estado de la barra de progreso.The state of the progress bar. Para obtener más información, vea clase CTaskDialog:: SetProgressBarState.For more information, see CTaskDialog::SetProgressBarState.
m_nRadioId IDENTIFICADOR del control de botón de radio seleccionado.The ID of the selected radio button control.
m_nWidth Ancho del control CTaskDialog, en píxeles.The width of the CTaskDialog in pixels.
m_strCollapse La cadena CTaskDialog que se muestra a la derecha del cuadro de expansión cuando se oculta la información expandida.The string the CTaskDialog displays to the right of the expansion box when the expanded information is hidden.
m_strContent Cadena de contenido de CTaskDialog .The content string of the CTaskDialog.
m_strExpand La cadena CTaskDialog que se muestra a la derecha del cuadro de expansión cuando se muestra la información expandida.The string the CTaskDialog displays to the right of the expansion box when the expanded information is displayed.
m_strFooter Pie de página de CTaskDialog .The footer of the CTaskDialog.
m_strInformation La información expandida para CTaskDialog .The expanded information for the CTaskDialog.
m_strMainInstruction Instrucción principal del CTaskDialog .The main instruction of the CTaskDialog.
m_strTitle Título de la página CTaskDialog.The title of the CTaskDialog.
m_strVerification Cadena que CTaskDialog muestra a la derecha de la casilla de verificación.The string that the CTaskDialog displays to the right of the verification check box.

ObservacionesRemarks

La CTaskDialog clase reemplaza el cuadro de mensaje de Windows estándar y tiene una funcionalidad adicional, como nuevos controles para recopilar información del usuario.The CTaskDialog class replaces the standard Windows message box and has additional functionality such as new controls to gather information from the user. Esta clase está en la biblioteca MFC en Visual Studio 2010 y versiones posteriores.This class is in the MFC library in Visual Studio 2010 and later. CTaskDialogEstá disponible a partir de Windows Vista.The CTaskDialog is available starting with Windows Vista. Las versiones anteriores de Windows no pueden mostrar el CTaskDialog objeto.Earlier versions of Windows cannot display the CTaskDialog object. Use CTaskDialog::IsSupported para determinar en tiempo de ejecución si el usuario actual puede mostrar el cuadro de diálogo de tarea.Use CTaskDialog::IsSupported to determine at runtime whether the current user can display the task dialog box. Todavía se admite el cuadro de mensaje de Windows estándar.The standard Windows message box is still supported.

CTaskDialogSolo está disponible al compilar la aplicación mediante la biblioteca Unicode.The CTaskDialog is available only when you build your application by using the Unicode library.

CTaskDialogTiene dos constructores diferentes.The CTaskDialog has two different constructors. Un constructor le permite especificar dos botones de comando y un máximo de seis controles de botón normales.One constructor enables you to specify two command buttons and a maximum of six regular button controls. Puede agregar más botones de comando después de crear el CTaskDialog .You can add more command buttons after you create the CTaskDialog. El segundo constructor no es compatible con los botones de comando, pero puede Agregar un número ilimitado de controles de botón normales.The second constructor does not support any command buttons, but you can add an unlimited number of regular button controls. Para obtener más información sobre los constructores, vea clase CTaskDialog:: clase CTaskDialog.For more information about the constructors, see CTaskDialog::CTaskDialog.

La siguiente imagen muestra un ejemplo CTaskDialog para ilustrar la ubicación de algunos de los controles.The following image shows a sample CTaskDialog to illustrate the location of some of the controls.

Ejemplo de CTaskDialogExample of CTaskDialog
Ejemplo de clase CTaskDialogCTaskDialog Sample

RequisitosRequirements

Sistema operativo mínimo requerido: Windows VistaMinimum required operating system: Windows Vista

Encabezado: afxtaskdialog. hHeader: afxtaskdialog.h

Clase CTaskDialog:: AddCommandControlCTaskDialog::AddCommandControl

Agrega un nuevo control de botón de comando a CTaskDialog .Adds a new command button control to the CTaskDialog.

void AddCommandControl(
    int nCommandControlID,
    const CString& strCaption,
    BOOL bEnabled = TRUE,
    BOOL bRequiresElevation = FALSE);

ParámetrosParameters

nCommandControlIDnCommandControlID
de El número de identificación del control de comandos.[in] The command control identification number.

strCaptionstrCaption
de Cadena que CTaskDialog muestra al usuario.[in] The string that the CTaskDialog displays to the user. Utilice esta cadena para explicar el propósito del comando.Use this string to explain the purpose of the command.

bEnabledbEnabled
de Un parámetro booleano que indica si el nuevo botón está habilitado o deshabilitado.[in] A Boolean parameter that indicates if the new button is enabled or disabled.

bRequiresElevationbRequiresElevation
de Un parámetro booleano que indica si un comando requiere elevación.[in] A Boolean parameter that indicates whether a command requires elevation.

ObservacionesRemarks

CTaskDialog ClassPuede mostrar un número ilimitado de controles de botón de comando.The CTaskDialog Class can display an unlimited number of command button controls. Sin embargo, si CTaskDialog muestra un control de botón de comando, puede mostrar un máximo de seis botones.However, if a CTaskDialog displays any command button controls, it can display a maximum of six buttons. Si CTaskDialog no tiene controles de botón de comando, puede mostrar un número ilimitado de botones.If a CTaskDialog has no command button controls, it can display an unlimited number of buttons.

Cuando el usuario selecciona un control de botón de comando, se CTaskDialog cierra.When the user selects a command button control, the CTaskDialog closes. Si la aplicación muestra el cuadro de diálogo mediante clase CTaskDialog::D omodal, DoModal devuelve el nCommandControlID del control de botón de comando seleccionado.If your application displays the dialog box by using CTaskDialog::DoModal, DoModal returns the nCommandControlID of the selected command button control.

EjemploExample

// 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);

Clase CTaskDialog:: AddRadioButtonCTaskDialog::AddRadioButton

Agrega un botón de radio a la CTaskDialog .Adds a radio button to the CTaskDialog.

void CTaskDialog::AddRadioButton(
    int nRadioButtonID,
    const CString& strCaption,
    BOOL bEnabled = TRUE);

ParámetrosParameters

nRadioButtonIDnRadioButtonID
de Número de identificación del botón de radio.[in] The identification number of the radio button.

strCaptionstrCaption
de La cadena que CTaskDialog muestra junto al botón de radio.[in] The string that the CTaskDialog displays next to the radio button.

bEnabledbEnabled
de Un parámetro booleano que indica si está habilitado el botón de radio.[in] A Boolean parameter that indicates whether the radio button is enabled.

ObservacionesRemarks

Los botones de radio de la clase clase CTaskDialog permiten recopilar información del usuario.The radio buttons for the CTaskDialog Class enable you to gather information from the user. Use la función clase CTaskDialog:: GetSelectedRadioButtonID para determinar qué botón de radio está seleccionado.Use the function CTaskDialog::GetSelectedRadioButtonID to determine which radio button is selected.

No CTaskDialog requiere que los parámetros nRadioButtonID sean únicos para cada botón de radio.The CTaskDialog does not require that the nRadioButtonID parameters are unique for each radio button. Sin embargo, puede experimentar un comportamiento inesperado si no usa un identificador distinto para cada botón de radio.However, you may experience unexpected behavior if you do not use a distinct identifier for each radio button.

EjemploExample

// 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);

Clase CTaskDialog:: ClickCommandControlCTaskDialog::ClickCommandControl

Hace clic en un control de botón de comando o en un botón común mediante programación.Clicks a command button control or common button programmatically.

protected:
void ClickCommandControl(int nCommandControlID) const;

ParámetrosParameters

nCommandControlIDnCommandControlID
de IDENTIFICADOR de comando del control en el que se va a hacer clic.[in] The command ID of the control to click.

ObservacionesRemarks

Este método genera el mensaje de Windows TDM_CLICK_BUTTON.This method generates the windows message TDM_CLICK_BUTTON.

Clase CTaskDialog:: ClickRadioButtonCTaskDialog::ClickRadioButton

Hace clic en un botón de radio mediante programación.Clicks a radio button programmatically.

protected:
void ClickRadioButton(int nRadioButtonID) const;

ParámetrosParameters

nRadioButtonIDnRadioButtonID
de IDENTIFICADOR del botón de radio en el que se va a hacer clic.[in] The ID of the radio button to click.

ObservacionesRemarks

Este método genera el mensaje de Windows TDM_CLICK_RADIO_BUTTON.This method generates the windows message TDM_CLICK_RADIO_BUTTON.

Clase CTaskDialog:: clase CTaskDialogCTaskDialog::CTaskDialog

Crea una instancia de la clase clase CTaskDialog.Creates an instance of the CTaskDialog Class.

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ámetrosParameters

strContentstrContent
de Cadena que se va a usar para el contenido de CTaskDialog .[in] The string to use for the content of the CTaskDialog.

strMainInstructionstrMainInstruction
de Instrucción principal del CTaskDialog .[in] The main instruction of the CTaskDialog.

strTitlestrTitle
de Título del CTaskDialog .[in] The title of the CTaskDialog.

nCommonButtonsnCommonButtons
de Máscara de los botones comunes que se van a agregar a CTaskDialog .[in] A mask of the common buttons to add to the CTaskDialog.

nTaskDialogOptionsnTaskDialogOptions
de Conjunto de opciones que se va a usar para CTaskDialog .[in] The set of options to use for the CTaskDialog.

strFooterstrFooter
de Cadena que se va a usar como pie de página.[in] The string to use as the footer.

nIDCommandControlsFirstnIDCommandControlsFirst
de IDENTIFICADOR de cadena del primer comando.[in] The string ID of the first command.

nIDCommandControlsLastnIDCommandControlsLast
de IDENTIFICADOR de cadena del último comando.[in] The string ID of the last command.

ObservacionesRemarks

Hay dos maneras de agregar un CTaskDialog a la aplicación.There are two ways that you can add a CTaskDialog to your application. La primera forma es usar uno de los constructores para crear CTaskDialog y mostrarlo mediante clase ctaskdialog::D omodal.The first way is to use one of the constructors to create a CTaskDialog and display it using CTaskDialog::DoModal. La segunda manera es usar la función estática clase CTaskDialog:: ShowDialog, que permite mostrar un CTaskDialog sin crear explícitamente un CTaskDialog objeto.The second way is to use the static function CTaskDialog::ShowDialog, which enables you to display a CTaskDialog without explicitly creating a CTaskDialog object.

El segundo constructor crea controles de botón de comando mediante datos del archivo de recursos de la aplicación.The second constructor creates command button controls by using data from the resource file of your application. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados.The string table in the resource file has several strings with associated string IDs. 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.This method adds a command button control for each valid entry in the string table between nIDCommandControlsFirst and nCommandControlsLast, inclusive. 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.For these command button controls, the string in the string table is the control's caption and the string ID is the control's ID.

Vea clase CTaskDialog:: SetOptions para obtener una lista de opciones válidas.See CTaskDialog::SetOptions for a list of valid options.

EjemploExample

// 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();

Clase CTaskDialog::D oModalCTaskDialog::DoModal

Muestra el CTaskDialog y lo convierte en modal.Shows the CTaskDialog and makes it modal.

INT_PTR DoModal (HWND hParent = ::GetActiveWindow());

ParámetrosParameters

hParenthParent
de Ventana primaria para el objeto CTaskDialog .[in] The parent window for the CTaskDialog.

Valor devueltoReturn Value

Entero que corresponde a la selección realizada por el usuario.An integer that corresponds to the selection made by the user.

ObservacionesRemarks

Muestra esta instancia de clase CTaskDialog.Displays this instance of the CTaskDialog. A continuación, la aplicación espera a que el usuario cierre el cuadro de diálogo.The application then waits for the user to close the dialog box.

Se CTaskDialog cierra cuando el usuario selecciona un botón común, un control de vínculo de comando o cierra CTaskDialog .The CTaskDialog closes when the user selects a common button, a command link control, or closes the CTaskDialog. El valor devuelto es el identificador que indica cómo el usuario cerró el cuadro de diálogo.The return value is the identifier that indicates how the user closed the dialog box.

EjemploExample

// 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();

Clase CTaskDialog:: GetCommonButtonCountCTaskDialog::GetCommonButtonCount

Recupera el número de botones comunes.Retrieves the number of common buttons.

int GetCommonButtonCount() const;

Valor devueltoReturn Value

El número de botones comunes disponibles.The number of common buttons available.

ObservacionesRemarks

Los botones comunes son los botones predeterminados que se proporcionan a clase CTaskDialog:: clase CTaskDialog.The common buttons are the default buttons that you provide to CTaskDialog::CTaskDialog. La clase clase CTaskDialog muestra los botones situados en la parte inferior del cuadro de diálogo.The CTaskDialog Class displays the buttons along the bottom of the dialog box.

La lista enumerada de botones se proporciona en CommCtrl. h.The enumerated list of buttons is provided in CommCtrl.h.

Clase CTaskDialog:: GetCommonButtonFlagCTaskDialog::GetCommonButtonFlag

Convierte un botón estándar de Windows en el tipo de botón común asociado a la clase clase CTaskDialog.Converts a standard Windows button to the common button type associated with the CTaskDialog Class.

int GetCommonButtonFlag(int nButtonId) const;

ParámetrosParameters

nButtonIdnButtonId
de Valor del botón estándar de Windows.[in] The standard Windows button value.

Valor devueltoReturn Value

Valor del CTaskDialog botón común correspondiente.The value of the corresponding CTaskDialog common button. Si no hay ningún botón común correspondiente, este método devuelve 0.If there is no corresponding common button, this method returns 0.

Clase CTaskDialog:: GetCommonButtonIdCTaskDialog::GetCommonButtonId

Convierte uno de los tipos de botón comunes asociados a la clase clase CTaskDialog en un botón estándar de Windows.Converts one of the common button types associated with the CTaskDialog Class to a standard Windows button.

int GetCommonButtonId(int nFlag);

ParámetrosParameters

nFlagnFlag
de El tipo de botón común asociado a la CTaskDialog clase.[in] The common button type associated with the CTaskDialog class.

Valor devueltoReturn Value

Valor del botón estándar de Windows correspondiente.The value of the corresponding standard Windows button. Si no hay ningún botón de Windows correspondiente, el método devuelve 0.If there is no corresponding Windows button, the method returns 0.

Clase CTaskDialog:: GetOptionsCTaskDialog::GetOptions

Devuelve las marcas de opción para este CTaskDialog .Returns the option flags for this CTaskDialog.

int GetOptions() const;

Valor devueltoReturn Value

Marcas para CTaskDialog .The flags for the CTaskDialog.

ObservacionesRemarks

Para obtener más información sobre las opciones disponibles para la clase clase CTaskDialog, vea clase CTaskDialog:: SetOptions.For more information about the options available to the CTaskDialog Class, see CTaskDialog::SetOptions.

EjemploExample

// 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();

Clase CTaskDialog:: GetSelectedCommandControlIDCTaskDialog::GetSelectedCommandControlID

Devuelve el control de botón de comando seleccionado.Returns the selected command button control.

int GetSelectedCommandControlID() const;

Valor devueltoReturn Value

IDENTIFICADOR del control de botón de comando seleccionado actualmente.The ID of the currently selected command button control.

ObservacionesRemarks

No es necesario utilizar este método para recuperar el identificador del botón de comando que el usuario seleccionó.You do not have to use this method to retrieve the ID of the command button that the user selected. Este identificador se devuelve por clase CTaskDialog::D omodal o clase CTaskDialog:: ShowDialog.That ID is returned by either CTaskDialog::DoModal or CTaskDialog::ShowDialog.

EjemploExample

// 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);

Clase CTaskDialog:: GetSelectedRadioButtonIDCTaskDialog::GetSelectedRadioButtonID

Devuelve el botón de radio seleccionado.Returns the selected radio button.

int GetSelectedRadioButtonID() const;

Valor devueltoReturn Value

IDENTIFICADOR del botón de radio seleccionado.The ID of the selected radio button.

ObservacionesRemarks

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.You can use this method after the user closes the dialog box to retrieve the selected radio button.

EjemploExample

// 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);

Clase CTaskDialog:: GetVerificationCheckboxStateCTaskDialog::GetVerificationCheckboxState

Recupera el estado de la casilla de verificación.Retrieves the state of the verification check box.

BOOL GetVerificationCheckboxState() const;

Valor devueltoReturn Value

TRUE si la casilla está activada, FALSE en caso contrario.TRUE if the check box is checked, FALSE if it is not.

EjemploExample

// 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
}

Clase CTaskDialog:: IsCommandControlEnabledCTaskDialog::IsCommandControlEnabled

Determina si está habilitado un control de botón o botón de comando.Determines whether a command button control or button is enabled.

BOOL IsCommandControlEnabled(int nCommandControlID) const;

ParámetrosParameters

nCommandControlIDnCommandControlID
de IDENTIFICADOR del botón o control de botón de comando que se va a probar.[in] The ID of the command button control or button to test.

Valor devueltoReturn Value

TRUE si el control está habilitado, FALSE si no lo está.TRUE if the control is enabled, FALSE if it is not.

ObservacionesRemarks

Puede usar este método para determinar la disponibilidad de ambos controles de botón de comando y de los botones comunes de la CTaskDialog clase *.You can use this method to determine the availability of both command button controls and the common buttons of the CTaskDialog Class*.

Si nCommandControlID no es un identificador válido para un CTaskDialog botón común o un control de botón de comando, este método produce una excepción.If nCommandControlID is not a valid identifier for either a common CTaskDialog button or a command button control, this method throws an exception.

EjemploExample

// 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);

Clase CTaskDialog:: IsRadioButtonEnabledCTaskDialog::IsRadioButtonEnabled

Determina si está habilitado un botón de radio.Determines whether a radio button is enabled.

BOOL IsRadioButtonEnabled(int nRadioButtonID) const;

ParámetrosParameters

nRadioButtonIDnRadioButtonID
de IDENTIFICADOR del botón de radio que se va a probar.[in] The ID of the radio button to test.

Valor devueltoReturn Value

TRUE si el botón de radio está habilitado, FALSE en caso contrario.TRUE if the radio button is enabled, FALSE if it is not.

ObservacionesRemarks

Si nRadioButtonID no es un identificador válido para un botón de radio, este método produce una excepción.If nRadioButtonID is not a valid identifier for a radio button, this method throws an exception.

EjemploExample

// 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);

Clase CTaskDialog:: IsSupportedCTaskDialog::IsSupported

Determina si el equipo que ejecuta la aplicación admite CTaskDialog .Determines whether the computer that is running the application supports the CTaskDialog.

static BOOL IsSupported();

Valor devueltoReturn Value

TRUE si el equipo admite el CTaskDialog ; De lo contrario, FALSE.TRUE if the computer supports the CTaskDialog; FALSE otherwise.

ObservacionesRemarks

Utilice esta función para determinar en tiempo de ejecución si el equipo que ejecuta la aplicación admite la CTaskDialog clase.Use this function to determine at runtime if the computer that is running your application supports the CTaskDialog class. Si el equipo no admite CTaskDialog , debe proporcionar otro método para comunicar información al usuario.If the computer does not support the CTaskDialog, you should provide another method of communicating information to the user. La aplicación se bloqueará si intenta usar un CTaskDialog en un equipo que no admita la CTaskDialog clase.Your application will crash if it tries to use a CTaskDialog on a computer that does not support the CTaskDialog class.

EjemploExample

// 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);
}

Clase CTaskDialog:: LoadCommandControlsCTaskDialog::LoadCommandControls

Agrega controles de botón de comando mediante el uso de datos de la tabla de cadenas.Adds command button controls by using data from the string table.

void LoadCommandControls(
    int nIDCommandControlsFirst,
    int nIDCommandControlsLast);

ParámetrosParameters

nIDCommandControlsFirstnIDCommandControlsFirst
de IDENTIFICADOR de cadena del primer comando.[in] The string ID of the first command.

nIDCommandControlsLastnIDCommandControlsLast
de IDENTIFICADOR de cadena del último comando.[in] The string ID of the last command.

ObservacionesRemarks

Este método crea controles de botón de comando mediante datos del archivo de recursos de la aplicación.This method creates command button controls by using data from the resource file of your application. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados.The string table in the resource file has several strings with associated string IDs. Los nuevos controles de botón de comando agregados mediante este método usan la cadena para el título del control y el identificador de cadena para el identificador del control.New command button controls added by using this method use the string for the control's caption and the string ID for the control's ID. El intervalo de cadenas seleccionado lo proporcionan nIDCommandControlsFirst y nCommandControlsLast, ambos incluidos.The range of strings selected is provided by nIDCommandControlsFirst and nCommandControlsLast, inclusive. Si hay una entrada vacía en el intervalo, el método no agrega un control de botón de comando para dicha entrada.If there is an empty entry in the range, the method does not add a command button control for that entry.

De forma predeterminada, los nuevos controles de botón de comando están habilitados y no requieren elevación.By default, new command button controls are enabled and do not require elevation.

EjemploExample

// 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);

Clase CTaskDialog:: LoadRadioButtonsCTaskDialog::LoadRadioButtons

Agrega controles de botón de radio mediante los datos de la tabla de cadenas.Adds radio button controls by using data from the string table.

void LoadRadioButtons(
    int nIDRadioButtonsFirst,
    int nIDRadioButtonsLast);

ParámetrosParameters

nIDRadioButtonsFirstnIDRadioButtonsFirst
de IDENTIFICADOR de cadena del primer botón de radio.[in] The string ID of the first radio button.

nIDRadioButtonsLastnIDRadioButtonsLast
de IDENTIFICADOR de cadena del último botón de radio.[in] The string ID of the last radio button.

ObservacionesRemarks

Este método crea botones de radio mediante el uso de datos del archivo de recursos de la aplicación.This method creates radio buttons by using data from the resource file of your application. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados.The string table in the resource file has several strings with associated string IDs. 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.New radio buttons added by using this method use the string for the radio button's caption and the string ID for the radio button's ID. El intervalo de cadenas seleccionado lo proporcionan nIDRadioButtonsFirst y nRadioButtonsLast, ambos incluidos.The range of strings selected is provided by nIDRadioButtonsFirst and nRadioButtonsLast, inclusive. Si hay una entrada vacía en el intervalo, el método no agrega un botón de radio para dicha entrada.If there is an empty entry in the range, the method does not add a radio button for that entry.

De forma predeterminada, se habilitan los nuevos botones de radio.By default, new radio buttons are enabled.

EjemploExample

// 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);

Clase CTaskDialog:: navigatoCTaskDialog::NavigateTo

Transfiere el foco a otro CTaskDialog .Transfers the focus to another CTaskDialog.

protected:
void NavigateTo(CTaskDialog& oTaskDialog) const;

ParámetrosParameters

oTaskDialogoTaskDialog
de CTaskDialog Que recibe el foco.[in] The CTaskDialog that receives the focus.

ObservacionesRemarks

Este método oculta el actual CTaskDialog cuando muestra el oTaskDialog.This method hides the current CTaskDialog when it displays the oTaskDialog. El oTaskDialog se muestra en la misma ubicación que el actual CTaskDialog .The oTaskDialog is displayed in the same location as the current CTaskDialog.

Clase CTaskDialog:: OnCommandControlClickCTaskDialog::OnCommandControlClick

El marco de trabajo llama a este método cuando el usuario hace clic en un control de botón de comando.The framework calls this method when the user clicks a command button control.

virtual HRESULT OnCommandControlClick(int nCommandControlID);

ParámetrosParameters

nCommandControlIDnCommandControlID
de IDENTIFICADOR del control de botón de comando que el usuario seleccionó.[in] The ID of the command button control that the user selected.

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: alcrearCTaskDialog::OnCreate

El marco de trabajo llama a este método después de crear el CTaskDialog .The framework calls this method after it creates the CTaskDialog.

virtual HRESULT OnCreate();

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: aldestruirCTaskDialog::OnDestroy

El marco de trabajo llama a este método inmediatamente antes de que destruya el CTaskDialog .The framework calls this method immediately before it destroys the CTaskDialog.

virtual HRESULT OnDestroy();

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: OnExpandButtonClickCTaskDialog::OnExpandButtonClick

El marco de trabajo llama a este método cuando el usuario hace clic en el botón de expansión.The framework calls this method when the user clicks on the expansion button.

virtual HRESULT OnExpandButtonClicked(BOOL bExpanded);

ParámetrosParameters

bExpandedbExpanded
de Un valor distinto de cero indica que se muestra la información adicional; 0 indica que la información adicional está oculta.[in] A nonzero value indicates the extra information is displayed; 0 indicates the extra information is hidden.

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: onhelpCTaskDialog::OnHelp

El marco de trabajo llama a este método cuando el usuario solicita ayuda.The framework calls this method when the user requests help.

virtual HRESULT OnHelp();

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: OnHyperlinkClickCTaskDialog::OnHyperlinkClick

El marco de trabajo llama a este método cuando el usuario hace clic en un hipervínculo.The framework calls this method when the user clicks on a hyperlink.

virtual HRESULT OnHyperlinkClick(const CString& strHref);

ParámetrosParameters

strHrefstrHref
de Cadena que representa el hipervínculo.[in] The string that represents the hyperlink.

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Este método llama a ShellExecute antes de que devuelva S_OK.This method calls ShellExecute before it returns S_OK.

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: OnInitCTaskDialog::OnInit

El marco de trabajo llama a este método cuando CTaskDialog se inicializa.The framework calls this method when the CTaskDialog is initialized.

virtual HRESULT OnInit();

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: OnNavigatePageCTaskDialog::OnNavigatePage

El marco de trabajo llama a este método en respuesta al método clase CTaskDialog:: navigato .The framework calls this method in response to the CTaskDialog::NavigateTo method.

virtual HRESULT OnNavigatePage();

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: OnRadioButtonClickCTaskDialog::OnRadioButtonClick

El marco de trabajo llama a este método cuando el usuario selecciona un control de botón de radio.The framework calls this method when the user selects a radio button control.

virtual HRESULT OnRadioButtonClick(int nRadioButtonID);

ParámetrosParameters

nRadioButtonIDnRadioButtonID
de IDENTIFICADOR del control de botón de radio en el que el usuario hizo clic.[in] The ID of the radio button control that the user clicked.

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: altimerCTaskDialog::OnTimer

El marco de trabajo llama a este método cuando el temporizador expira.The framework calls this method when the timer expires.

virtual HRESULT OnTimer(long lTime);

ParámetrosParameters

lTimelTime
de Tiempo en milisegundos desde que CTaskDialog se creó o se restableció el temporizador.[in] Time in milliseconds since the CTaskDialog was created or the timer was reset.

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: OnVerificationCheckboxClickCTaskDialog::OnVerificationCheckboxClick

El marco de trabajo llama a este método cuando el usuario hace clic en la casilla de verificación.The framework calls this method when the user clicks the verification check box.

virtual HRESULT OnVerificationCheckboxClick(BOOL bChecked);

ParámetrosParameters

bCheckedbChecked
de TRUE indica que la casilla de verificación está activada. FALSE indica que no lo es.[in] TRUE indicates the verification check box is selected; FALSE indicates it is not.

Valor devueltoReturn Value

La implementación predeterminada Devuelve S_OK.The default implementation returns S_OK.

ObservacionesRemarks

Invalide este método en una clase derivada para implementar el comportamiento personalizado.Override this method in a derived class to implement custom behavior.

Clase CTaskDialog:: RemoveAllCommandControlsCTaskDialog::RemoveAllCommandControls

Quita todos los controles de botón de comando de CTaskDialog .Removes all the command button controls from the CTaskDialog.

void RemoveAllCommandControls();

EjemploExample

// 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);

Clase CTaskDialog:: RemoveAllRadioButtonsCTaskDialog::RemoveAllRadioButtons

Quita todos los botones de radio de CTaskDialog .Removes all the radio buttons from the CTaskDialog.

void RemoveAllRadioButtons();

EjemploExample

// 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);

Clase CTaskDialog:: SetCommandControlOptionsCTaskDialog::SetCommandControlOptions

Actualiza un control de botón de comando en CTaskDialog .Updates a command button control on the CTaskDialog.

void SetCommandControlOptions(
    int nCommandControlID,
    BOOL bEnabled,
    BOOL bRequiresElevation = FALSE);

ParámetrosParameters

nCommandControlIDnCommandControlID
de IDENTIFICADOR del control de comando que se va a actualizar.[in] The ID of the command control to update.

bEnabledbEnabled
de Un parámetro booleano que indica si el control de botón de comando especificado está habilitado o deshabilitado.[in] A Boolean parameter that indicates if the specified command button control is enabled or disabled.

bRequiresElevationbRequiresElevation
de Un parámetro booleano que indica si el control de botón de comando especificado requiere elevación.[in] A Boolean parameter that indicates if the specified command button control requires elevation.

ObservacionesRemarks

Utilice este método para cambiar si un control de botón de comando está habilitado o requiere elevación una vez que se ha agregado a la CTaskDialog clase.Use this method to change whether a command button control is enabled or requires elevation after it has been added to the CTaskDialog class.

EjemploExample

// 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);

Clase CTaskDialog:: SetCommonButtonOptionsCTaskDialog::SetCommonButtonOptions

Actualiza un subconjunto de botones comunes que se van a habilitar y requiere elevación de UAC.Updates a subset of common buttons to be enabled and to require UAC elevation.

void SetCommonButtonOptions(
    int nDisabledButtonMask,
    int nElevationButtonMask = 0);

ParámetrosParameters

nDisabledButtonMasknDisabledButtonMask
de Máscara para los botones comunes que se van a deshabilitar.[in] A mask for the common buttons to disable.

nElevationButtonMasknElevationButtonMask
de Máscara para los botones comunes que requieren elevación.[in] A mask for the common buttons that require elevation.

ObservacionesRemarks

Puede establecer los botones comunes disponibles para una instancia de la clase clase CTaskDialog mediante el constructor clase CTaskDialog:: clase CTaskDialog y el método clase CTaskDialog:: SetCommonButtons.You can set the common buttons available to an instance of the CTaskDialog Class by using the constructor CTaskDialog::CTaskDialog and the method CTaskDialog::SetCommonButtons. CTaskDialog::SetCommonButtonOptions no admite la adición de nuevos botones comunes.CTaskDialog::SetCommonButtonOptions does not support adding new common buttons.

Si utiliza este método para deshabilitar o elevar un botón común que no está disponible para esto CTaskDialog , este método produce una excepción mediante la macro sure .If you use this method to disable or elevate a common button that is not available for this CTaskDialog, this method throws an exception by using the ENSURE macro.

Este método habilita cualquier botón que esté disponible para CTaskDialog , pero que no esté en nDisabledButtonMask, incluso si estaba deshabilitado anteriormente.This method enables any button that is available to the CTaskDialog but is not in the nDisabledButtonMask, even if it was previously disabled. Este método trata la elevación de manera similar: registra botones comunes que no requieren elevación si el botón común está disponible pero no se incluye en nElevationButtonMask.This method treats elevation in a similar manner: it records common buttons as not requiring elevation if the common button is available but not included in nElevationButtonMask.

EjemploExample

// 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();

Clase CTaskDialog:: SetCommonButtonsCTaskDialog::SetCommonButtons

Agrega botones comunes al CTaskDialog .Adds common buttons to the CTaskDialog.

void SetCommonButtons(
    int nButtonMask,
    int nDisabledButtonMask = 0,
    int nElevationButtonMask = 0);

ParámetrosParameters

nButtonMasknButtonMask
de Máscara de los botones que se van a agregar a CTaskDialog .[in] A mask of the buttons to add to the CTaskDialog.

nDisabledButtonMasknDisabledButtonMask
de Máscara de los botones que se van a deshabilitar.[in] A mask of the buttons to disable.

nElevationButtonMasknElevationButtonMask
de Máscara de los botones que requieren elevación.[in] A mask of the buttons that require elevation.

ObservacionesRemarks

No se puede llamar a este método después de crear la ventana de presentación de esta instancia de la CTaskDialog clase.You cannot call this method after the display window for this instance of the CTaskDialog class is created. Si lo hace, este método produce una excepción.If you do, this method throws an exception.

Los botones indicados por nButtonMask invalidan los botones comunes agregados previamente a CTaskDialog .The buttons indicated by nButtonMask override any common buttons previously added to the CTaskDialog. Solo están disponibles los botones indicados en nButtonMask .Only the buttons indicated in nButtonMask are available.

Si nDisabledButtonMask o nElevationButtonMask contienen un botón que no está en nButtonMask, este método produce una excepción mediante la macro de sure .If either nDisabledButtonMask or nElevationButtonMask contain a button that is not in nButtonMask, this method throws an exception by using the ENSURE macro.

De forma predeterminada, todos los botones comunes están habilitados y no requieren elevación.By default, all common buttons are enabled and do not require elevation.

EjemploExample

// 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();

Clase CTaskDialog:: SetContentCTaskDialog::SetContent

Actualiza el contenido de CTaskDialog .Updates the content of the CTaskDialog.

void SetContent(const CString& strContent);

ParámetrosParameters

strContentstrContent
de Cadena que se va a mostrar al usuario.[in] The string to display to the user.

ObservacionesRemarks

El contenido de la CTaskDialog clase es el texto que se muestra al usuario en la sección principal del cuadro de diálogo.The content of the CTaskDialog class is the text that is displayed to the user in the main section of the dialog box.

EjemploExample

// 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();

Clase CTaskDialog:: SetDefaultCommandControlCTaskDialog::SetDefaultCommandControl

Especifica el control de botón de comando predeterminado.Specifies the default command button control.

void SetDefaultCommandControl(int nCommandControlID);

ParámetrosParameters

nCommandControlIDnCommandControlID
de IDENTIFICADOR del control de botón de comando que va a ser el valor predeterminado.[in] The ID of the command button control to be the default.

ObservacionesRemarks

El control de botón de comando predeterminado es el control que se selecciona cuando CTaskDialog se muestra por primera vez al usuario.The default command button control is the control that is selected when the CTaskDialog is first displayed to the user.

Este método produce una excepción si no puede encontrar el control de botón de comando especificado por nCommandControlID.This method throws an exception if it cannot find the command button control specified by nCommandControlID.

EjemploExample

// 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);

Clase CTaskDialog:: SetDefaultRadioButtonCTaskDialog::SetDefaultRadioButton

Especifica el botón de radio predeterminado.Specifies the default radio button.

void SetDefaultRadioButton(int nRadioButtonID);

ParámetrosParameters

nRadioButtonIDnRadioButtonID
de IDENTIFICADOR del botón de radio que será el valor predeterminado.[in] The ID of the radio button to be the default.

ObservacionesRemarks

El botón de radio predeterminado es el botón que se selecciona cuando CTaskDialog se muestra por primera vez al usuario.The default radio button is the button that is selected when the CTaskDialog is first displayed to the user.

Este método produce una excepción si no encuentra el botón de radio especificado por nRadioButtonID.This method throws an exception if it cannot find the radio button specified by nRadioButtonID.

EjemploExample

// 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);

Clase CTaskDialog:: SetDialogWidthCTaskDialog::SetDialogWidth

Ajusta el ancho de CTaskDialog .Adjusts the width of the CTaskDialog.

void SetDialogWidth(int nWidth = 0);

ParámetrosParameters

nWidthnWidth
de Ancho del cuadro de diálogo, en píxeles.[in] The width of the dialog box, in pixels.

ObservacionesRemarks

El parámetro nWidth debe ser mayor o igual que 0.The parameter nWidth must be greater than or equal to 0. De lo contrario, este método produce una excepción.Otherwise, this method throws an exception.

Si nWidth se establece en 0, este método establece el cuadro de diálogo en el tamaño predeterminado.If nWidth is set to 0, this method sets the dialog box to the default size.

EjemploExample

// 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();

Clase CTaskDialog:: SetExpansionAreaCTaskDialog::SetExpansionArea

Actualiza el área de expansión de CTaskDialog .Updates the expansion area of the CTaskDialog.

void SetExpansionArea(
    const CString& strExpandedInformation,
    const CString& strCollapsedLabel = _T(""),
    const CString& strExpandedLabel = _T(""));

ParámetrosParameters

strExpandedInformationstrExpandedInformation
de Cadena que CTaskDialog muestra en el cuerpo principal del cuadro de diálogo cuando el usuario hace clic en el botón de expansión.[in] The string that the CTaskDialog displays in the main body of the dialog box when the user clicks the expansion button.

strCollapsedLabelstrCollapsedLabel
de La cadena que CTaskDialog muestra junto al botón de expansión cuando se contrae el área expandida.[in] The string that the CTaskDialog displays next to the expansion button when the expanded area is collapsed.

strExpandedLabelstrExpandedLabel
de La cadena que CTaskDialog muestra junto al botón de expansión cuando se muestra el área expandida.[in] The string that the CTaskDialog displays next to the expansion button when the expanded area is displayed.

ObservacionesRemarks

El área de expansión de la CTaskDialog clase le permite proporcionar información adicional al usuario.The expansion area of the CTaskDialog class enables you to provide additional information to the user. El área de expansión está en la parte principal de CTaskDialog , que se encuentra inmediatamente debajo del título y la cadena de contenido.The expansion area is in the main part of the CTaskDialog, located immediately underneath the title and content string.

Cuando CTaskDialog se muestra por primera vez, no se muestra la información expandida y se coloca strCollapsedLabel junto al botón de expansión.When the CTaskDialog is first displayed, it does not show the expanded information and puts strCollapsedLabel next to the expansion button. Cuando el usuario hace clic en el botón de expansión, CTaskDialog muestra strExpandedInformation y cambia la etiqueta a strExpandedLabel.When the user clicks the expansion button, the CTaskDialog displays strExpandedInformation and changes the label to strExpandedLabel.

EjemploExample

// 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();

Clase CTaskDialog:: SetFooterIconCTaskDialog::SetFooterIcon

Actualiza el icono de pie de página de CTaskDialog .Updates the footer icon of the CTaskDialog.

void SetFooterIcon(HICON hFooterIcon);
void SetFooterIcon(LPCWSTR lpszFooterIcon);

ParámetrosParameters

hFooterIconhFooterIcon
de Nuevo icono de CTaskDialog .[in] The new icon for the CTaskDialog.

lpszFooterIconlpszFooterIcon
de Nuevo icono de CTaskDialog .[in] The new icon for the CTaskDialog.

ObservacionesRemarks

El icono de pie de página se muestra en la parte inferior de la clase clase CTaskDialog.The footer icon is displayed on the bottom of the CTaskDialog Class. Puede tener texto de pie de página asociado.It can have associated footer text. Puede cambiar el texto del pie de página con clase CTaskDialog:: SetFooterText.You can change the footer text with CTaskDialog::SetFooterText.

Este método produce una excepción con la macro sure si CTaskDialog se muestra o el parámetro de entrada es NULL.This method throws an exception with the ENSURE macro if the CTaskDialog is displayed or the input parameter is NULL.

Un CTaskDialog solo puede aceptar HICON o LPCWSTR como un icono de pie de página.A CTaskDialog can only accept an HICON or LPCWSTR as a footer icon. Esto se configura estableciendo la opción TDF_USE_HICON_FOOTER en el constructor o clase CTaskDialog:: SetOptions.This is configured by setting the option TDF_USE_HICON_FOOTER in the constructor or CTaskDialog::SetOptions. De forma predeterminada, CTaskDialog está configurado para usar LPCWSTR como tipo de entrada para el icono de pie de página.By default, the CTaskDialog is configured to use LPCWSTR as the input type for the footer icon. Este método genera una excepción si se intenta establecer el icono con el tipo inadecuado.This method generates an exception if you try to set the icon using the inappropriate type.

EjemploExample

// 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();

Clase CTaskDialog:: SetFooterTextCTaskDialog::SetFooterText

Actualiza el texto en el pie de página de CTaskDialog .Updates the text on the footer of the CTaskDialog.

void SetFooterText(const CString& strFooterText);

ParámetrosParameters

strFooterTextstrFooterText
de Nuevo texto del pie de página.[in] The new text for the footer.

ObservacionesRemarks

El icono de pie de página aparece junto al texto del pie de página en la parte inferior del CTaskDialog .The footer icon appears next to the footer text on the bottom of the CTaskDialog. Puede cambiar el icono de pie de página con clase CTaskDialog:: SetFooterIcon.You can change the footer icon with CTaskDialog::SetFooterIcon.

EjemploExample

// 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();

Clase CTaskDialog:: SetMainIconCTaskDialog::SetMainIcon

Actualiza el icono principal de CTaskDialog .Updates the main icon of the CTaskDialog.

void SetMainIcon(HICON hMainIcon);
void SetMainIcon(LPCWSTR lpszMainIcon);

ParámetrosParameters

hMainIconhMainIcon
de Icono nuevo.[in] The new icon.

lpszMainIconlpszMainIcon
de Icono nuevo.[in] The new icon.

ObservacionesRemarks

Este método produce una excepción con la macro sure si CTaskDialog se muestra o el parámetro de entrada es NULL.This method throws an exception with the ENSURE macro if the CTaskDialog is displayed or the input parameter is NULL.

Un CTaskDialog solo puede aceptar HICON o LPCWSTR como un icono principal.A CTaskDialog can only accept an HICON or LPCWSTR as a main icon. Para configurarlo, establezca la opción TDF_USE_HICON_MAIN en el constructor o en el método clase CTaskDialog:: SetOptions .You can configure this by setting the TDF_USE_HICON_MAIN option in the constructor or in the CTaskDialog::SetOptions method. De forma predeterminada, CTaskDialog está configurado para usar LPCWSTR como tipo de entrada para el icono principal.By default, the CTaskDialog is configured to use LPCWSTR as the input type for the main icon. Este método genera una excepción si se intenta establecer el icono con el tipo inadecuado.This method generates an exception if you try to set the icon using the inappropriate type.

EjemploExample

// 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();

Clase CTaskDialog:: SetMainInstructionCTaskDialog::SetMainInstruction

Actualiza la instrucción principal del CTaskDialog .Updates the main instruction of the CTaskDialog.

void SetMainInstruction(const CString& strInstructions);

ParámetrosParameters

strInstructionsstrInstructions
de La nueva instrucción principal.[in] The new main instruction.

ObservacionesRemarks

La instrucción principal de la CTaskDialog clase es el texto que se muestra al usuario en una fuente Negrita grande.The main instruction of the CTaskDialog class is text displayed to the user in a large bold font. Se encuentra en el cuadro de diálogo situado debajo de la barra de título.It is located in the dialog box underneath the title bar.

EjemploExample

// 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();

Clase CTaskDialog:: SetOptionsCTaskDialog::SetOptions

Configura las opciones para CTaskDialog .Configures the options for the CTaskDialog.

void SetOptions(int nOptionFlag);

ParámetrosParameters

nOptionFlagnOptionFlag
de Conjunto de marcas que se va a usar para CTaskDialog .[in] The set of flags to use for the CTaskDialog.

ObservacionesRemarks

Este método borra todas las opciones actuales del CTaskDialog .This method clears all the current options for the CTaskDialog. Para conservar las opciones actuales, debe recuperarlas primero con clase CTaskDialog:: GetOptions y combinarlas con las opciones que desea establecer.To preserve the current options, you must retrieve them first with CTaskDialog::GetOptions and combine them with the options that you want to set.

En la tabla siguiente se enumeran todas las opciones válidas.The following table lists all the valid options.

NombreName DescripciónDescription
TDF_ENABLE_HYPERLINKSTDF_ENABLE_HYPERLINKS Habilita los hipervínculos en CTaskDialog .Enables hyperlinks in the CTaskDialog.
TDF_USE_HICON_MAINTDF_USE_HICON_MAIN Configura el CTaskDialog para utilizar HICON para el icono principal.Configures the CTaskDialog to use a HICON for the main icon. La alternativa es usar LPCWSTR .The alternative is to use a LPCWSTR.
TDF_USE_HICON_FOOTERTDF_USE_HICON_FOOTER Configura el CTaskDialog para utilizar HICON para el icono de pie de página.Configures the CTaskDialog to use a HICON for the footer icon. La alternativa es usar LPCWSTR .The alternative is to use a LPCWSTR.
TDF_ALLOW_DIALOG_CANCELLATIONTDF_ALLOW_DIALOG_CANCELLATION Permite al usuario cerrar con CTaskDialog el teclado o con el icono de la esquina superior derecha del cuadro de diálogo, incluso si el botón Cancelar no está habilitado.Enables the user to close the CTaskDialog by using the keyboard or by using the icon in the upper-right corner of the dialog box, even if the Cancel button is not enabled. Si no se establece esta marca y el botón Cancelar no está habilitado, el usuario no puede cerrar el cuadro de diálogo con Alt + F4, la tecla escape o el botón cerrar de la barra de título.If this flag is not set and the Cancel button is not enabled, the user cannot close the dialog box by using Alt+F4, the Escape key, or the title bar's close button.
TDF_USE_COMMAND_LINKSTDF_USE_COMMAND_LINKS Configura CTaskDialog para usar los controles de botón de comando.Configures the CTaskDialog to use command button controls.
TDF_USE_COMMAND_LINKS_NO_ICONTDF_USE_COMMAND_LINKS_NO_ICON Configura CTaskDialog para usar los controles de botón de comando sin mostrar un icono junto al control.Configures the CTaskDialog to use command button controls without displaying an icon next to the control. TDF_USE_COMMAND_LINKS invalida TDF_USE_COMMAND_LINKS_NO_ICON.TDF_USE_COMMAND_LINKS overrides TDF_USE_COMMAND_LINKS_NO_ICON.
TDF_EXPAND_FOOTER_AREATDF_EXPAND_FOOTER_AREA Indica que el área de expansión está expandida actualmente.Indicates the expansion area is currently expanded.
TDF_EXPANDED_BY_DEFAULTTDF_EXPANDED_BY_DEFAULT Determina si el área de expansión se expande de forma predeterminada.Determines whether the expansion area is expanded by default.
TDF_VERIFICATION_FLAG_CHECKEDTDF_VERIFICATION_FLAG_CHECKED Indica que la casilla de verificación está seleccionada actualmente.Indicates the verification check box is currently selected.
TDF_SHOW_PROGRESS_BARTDF_SHOW_PROGRESS_BAR Configura CTaskDialog para mostrar una barra de progreso.Configures the CTaskDialog to display a progress bar.
TDF_SHOW_MARQUEE_PROGRESS_BARTDF_SHOW_MARQUEE_PROGRESS_BAR Configura la barra de progreso para que sea una barra de progreso de marquesina.Configures the progress bar to be a marquee progress bar. Si habilita esta opción, debe establecer TDF_SHOW_PROGRESS_BAR para que tenga el comportamiento esperado.If you enable this option, you must set TDF_SHOW_PROGRESS_BAR to have the expected behavior.
TDF_CALLBACK_TIMERTDF_CALLBACK_TIMER Indica que el CTaskDialog intervalo de devolución de llamada se establece en aproximadamente 200 milisegundos.Indicates that the CTaskDialog callback interval is set to approximately 200 milliseconds.
TDF_POSITION_RELATIVE_TO_WINDOWTDF_POSITION_RELATIVE_TO_WINDOW Configura CTaskDialog para que se Centre en relación con la ventana primaria.Configures the CTaskDialog to be centered relative to the parent window. Si esta marca no está habilitada, CTaskDialog se centra en relación con el monitor.If this flag is not enabled, the CTaskDialog is centered relative to the monitor.
TDF_RTL_LAYOUTTDF_RTL_LAYOUT Configura CTaskDialog para un diseño de lectura de derecha a izquierda.Configures the CTaskDialog for a right-to-left reading layout.
TDF_NO_DEFAULT_RADIO_BUTTONTDF_NO_DEFAULT_RADIO_BUTTON Indica que no se ha seleccionado ningún botón de radio cuando CTaskDialog aparece.Indicates that no radio button is selected when the CTaskDialog appears.
TDF_CAN_BE_MINIMIZEDTDF_CAN_BE_MINIMIZED Permite al usuario minimizar el CTaskDialog .Enables the user to minimize the CTaskDialog. Para admitir esta opción, el CTaskDialog no puede ser modal.To support this option, the CTaskDialog cannot be modal. MFC no admite esta opción porque MFC no admite ningún modelo CTaskDialog .MFC does not support this option because MFC does not support a modeless CTaskDialog.

EjemploExample

// 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();

Clase CTaskDialog:: SetProgressBarMarqueeCTaskDialog::SetProgressBarMarquee

Configura una barra de Marquesina para el CTaskDialog y lo agrega al cuadro de diálogo.Configures a marquee bar for the CTaskDialog and adds it to the dialog box.

void SetProgressBarMarquee(
    BOOL bEnabled = TRUE,
    int nMarqueeSpeed = 0);

ParámetrosParameters

bEnabledbEnabled
de TRUE para habilitar la barra de marquesina; FALSE para deshabilitar la barra de marquesina y quitarla de CTaskDialog .[in] TRUE to enable the marquee bar; FALSE to disable the marquee bar and remove it from the CTaskDialog.

nMarqueeSpeednMarqueeSpeed
de Un entero que indica la velocidad de la barra de marquesina.[in] An integer that indicates the speed of the marquee bar.

ObservacionesRemarks

La barra de marquesina aparece debajo del texto principal de la CTaskDialog clase.The marquee bar appears underneath the main text of the CTaskDialog class.

Use nMarqueeSpeed para establecer la velocidad de la barra de marquesina; los valores mayores indican una velocidad más lenta.Use nMarqueeSpeed to set the speed of the marquee bar; larger values indicate a slower speed. Un valor de 0 para nMarqueeSpeed hace que la barra de marquesina se mueva a la velocidad predeterminada para Windows.A value of 0 for nMarqueeSpeed makes the marquee bar move at the default speed for Windows.

Este método produce una excepción con la macro sure si nMarqueeSpeed es menor que 0.This method throws an exception with the ENSURE macro if nMarqueeSpeed is less than 0.

EjemploExample

// 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();

Clase CTaskDialog:: SetProgressBarPositionCTaskDialog::SetProgressBarPosition

Ajusta la posición de la barra de progreso.Adjusts the position of the progress bar.

void SetProgressBarPosition(int nProgressPos);

ParámetrosParameters

nProgressPosnProgressPos
de Posición de la barra de progreso.[in] The position for the progress bar.

ObservacionesRemarks

Este método produce una excepción con la macro sure si nProgressPos no está en el intervalo de la barra de progreso.This method throws an exception with the ENSURE macro if nProgressPos is not in the progress bar range. Puede cambiar el intervalo de la barra de progreso con clase CTaskDialog:: SetProgressBarRange.You can change the progress bar range with CTaskDialog::SetProgressBarRange.

EjemploExample

// 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();

Clase CTaskDialog:: SetProgressBarRangeCTaskDialog::SetProgressBarRange

Ajusta el intervalo de la barra de progreso.Adjusts the range of the progress bar.

void SetProgressBarRange(
    int nRangeMin,
    int nRangeMax);

ParámetrosParameters

nRangeMinnRangeMin
de Límite inferior de la barra de progreso.[in] The lower bound of the progress bar.

nRangeMaxnRangeMax
de Límite superior de la barra de progreso.[in] The upper bound of the progress bar.

ObservacionesRemarks

La posición de la barra de progreso es relativa a nRangeMin y nRangeMax.The position of the progress bar is relative to nRangeMin and nRangeMax. Por ejemplo, si nRangeMin es 50 y nRangeMax es 100, una posición de 75 se encuentra a la mitad de la barra de progreso.For example, if nRangeMin is 50 and nRangeMax is 100, a position of 75 is halfway across the progress bar. Use clase CTaskDialog:: SetProgressBarPosition para establecer la posición de la barra de progreso.Use CTaskDialog::SetProgressBarPosition to set the position of the progress bar.

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.To display the progress bar, the option TDF_SHOW_PROGRESS_BAR must be enabled and TDF_SHOW_MARQUEE_PROGRESS_BAR must not be enabled. Este método establece automáticamente TDF_SHOW_PROGRESS_BAR y borra TDF_SHOW_MARQUEE_PROGRESS_BAR.This method automatically sets TDF_SHOW_PROGRESS_BAR and clears TDF_SHOW_MARQUEE_PROGRESS_BAR. Use clase CTaskDialog:: SetOptions para cambiar manualmente las opciones de esta instancia de la clase clase CTaskDialog.Use CTaskDialog::SetOptions to manually change the options for this instance of the CTaskDialog Class.

Este método produce una excepción con la macro sure si nRangeMin no es menor que nRangeMax.This method throws an exception with the ENSURE macro if nRangeMin is not less than nRangeMax. Este método también produce una excepción si CTaskDialog ya se muestra y tiene una barra de progreso de marquesina.This method also throws an exception if the CTaskDialog is already displayed and has a marquee progress bar.

EjemploExample

// 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();

Clase CTaskDialog:: SetProgressBarStateCTaskDialog::SetProgressBarState

Establece el estado de la barra de progreso y lo muestra en CTaskDialog .Sets the state of the progress bar and displays it on the CTaskDialog.

void SetProgressBarState(int nState = PBST_NORMAL);

ParámetrosParameters

nStatenState
de Estado de la barra de progreso.[in] The state of the progress bar. Vea la sección Comentarios para ver los valores posibles.See the Remarks section for the possible values.

ObservacionesRemarks

Este método produce una excepción con la macro sure si CTaskDialog ya se muestra y tiene una barra de progreso de marquesina.This method throws an exception with the ENSURE macro if the CTaskDialog is already displayed and has a marquee progress bar.

En la tabla siguiente se enumeran los posibles valores para nState.The following table lists the possible values for nState. En todos estos casos, la barra de progreso se rellenará con el color normal hasta que alcance la posición de detención designada.In all these cases, the progress bar will fill with the regular color until it reaches the designated stop position. En ese momento, cambiará el color en función del estado.At that point it will change color based on the state.

NombreName DescripciónDescription
PBST_NORMALPBST_NORMAL Una vez que se rellena la barra de progreso, el no CTaskDialog cambia el color de la barra.After the progress bar fills, the CTaskDialog does not change the color of the bar. De forma predeterminada, el color normal es verde.By default, the regular color is green.
PBST_ERRORPBST_ERROR Una vez que se rellena la barra de progreso, el CTaskDialog cambia el color de la barra al color del error.After the progress bar fills, the CTaskDialog changes the color of the bar to the error color. De forma predeterminada, es rojo.By default, this is red.
PBST_PAUSEDPBST_PAUSED Una vez que se rellena la barra de progreso, el CTaskDialog cambia el color de la barra al color en pausa.After the progress bar fills, the CTaskDialog changes the color of the bar to the paused color. De forma predeterminada, es amarillo.By default, this is yellow.

Puede establecer dónde se detiene la barra de progreso con clase CTaskDialog:: SetProgressBarPosition.You can set where the progress bar stops with CTaskDialog::SetProgressBarPosition.

EjemploExample

// 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();

Clase CTaskDialog:: SetRadioButtonOptionsCTaskDialog::SetRadioButtonOptions

Habilita o deshabilita un botón de radio.Enables or disables a radio button.

void SetRadioButtonOptions(
    int nRadioButtonID,
    BOOL bEnabled);

ParámetrosParameters

nRadioButtonIDnRadioButtonID
de IDENTIFICADOR del control de botón de radio.[in] The ID of the radio button control.

bEnabledbEnabled
de TRUE para habilitar el botón de radio; FALSE para deshabilitar el botón de radio.[in] TRUE to enable the radio button; FALSE to disable the radio button.

ObservacionesRemarks

Este método produce una excepción con la macro sure si nRadioButtonID no es un identificador válido para un botón de radio.This method throws an exception with the ENSURE macro if nRadioButtonID is not a valid ID for a radio button.

EjemploExample

// 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);

Clase CTaskDialog:: SetVerificationCheckboxCTaskDialog::SetVerificationCheckbox

Establece el estado activado de la casilla de verificación.Sets the checked state of the verification check box.

void SetVerificationCheckbox(BOOL bChecked);

ParámetrosParameters

bCheckedbChecked
de TRUE para activar la casilla de verificación cuando CTaskDialog se muestra el control; FALSE para que se anule la selección de la casilla de verificación cuando CTaskDialog se muestre.[in] TRUE to have the verification check box selected when the CTaskDialog is displayed; FALSE to have the verification check box unselected when the CTaskDialog is displayed.

EjemploExample

// 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
}

Clase CTaskDialog:: SetVerificationCheckboxTextCTaskDialog::SetVerificationCheckboxText

Establece el texto que se muestra a la derecha de la casilla de verificación.Sets the text that is displayed to the right of the verification check box.

void SetVerificationCheckboxText(CString& strVerificationText);

ParámetrosParameters

strVerificationTextstrVerificationText
de El texto que este método muestra junto a la casilla de verificación.[in] The text that this method displays next to the verification check box.

ObservacionesRemarks

Este método produce una excepción con la macro sure si ya se muestra esta instancia de la CTaskDialog clase.This method throws an exception with the ENSURE macro if this instance of the CTaskDialog class is already displayed.

EjemploExample

// 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
}

Clase CTaskDialog:: SetWindowTitleCTaskDialog::SetWindowTitle

Establece el título del CTaskDialog .Sets the title of the CTaskDialog.

void SetWindowTitle(CString& strWindowTitle);

ParámetrosParameters

strWindowTitlestrWindowTitle
de Nuevo título para CTaskDialog .[in] The new title for the CTaskDialog.

ObservacionesRemarks

EjemploExample

// 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();

Clase CTaskDialog:: ShowDialogCTaskDialog::ShowDialog

Crea y muestra un CTaskDialog .Creates and displays a 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ámetrosParameters

strContentstrContent
de Cadena que se va a usar para el contenido de CTaskDialog .[in] The string to use for the content of the CTaskDialog.

strMainInstructionstrMainInstruction
de Instrucción principal del CTaskDialog .[in] The main instruction of the CTaskDialog.

strTitlestrTitle
de Título del CTaskDialog .[in] The title of the CTaskDialog.

nIDCommandControlsFirstnIDCommandControlsFirst
de IDENTIFICADOR de cadena del primer comando.[in] The string ID of the first command.

nIDCommandControlsLastnIDCommandControlsLast
de IDENTIFICADOR de cadena del último comando.[in] The string ID of the last command.

nCommonButtonsnCommonButtons
de Máscara de los botones que se van a agregar a CTaskDialog .[in] A mask of the buttons to add to the CTaskDialog.

nTaskDialogOptionsnTaskDialogOptions
de Conjunto de opciones que se va a usar para CTaskDialog .[in] The set of options to use for the CTaskDialog.

strFooterstrFooter
de Cadena que se va a usar como pie de página.[in] The string to use as the footer.

Valor devueltoReturn Value

Entero que corresponde a la selección realizada por el usuario.An integer that corresponds to the selection made by the user.

ObservacionesRemarks

Este método estático le permite crear una instancia de la CTaskDialog clase sin crear explícitamente un CTaskDialog objeto en el código.This static method enables you to create an instance of the CTaskDialog class without explicitly creating a CTaskDialog object in your code. Dado que no hay ningún CTaskDialog objeto, no se puede llamar a ningún otro método de CTaskDialog si se usa este método para mostrar CTaskDialog al usuario.Because there is no CTaskDialog object, you cannot call any other methods of the CTaskDialog if you use this method to show a CTaskDialog to the user.

Este método crea controles de botón de comando mediante datos del archivo de recursos de la aplicación.This method creates command button controls by using data from the resource file of your application. La tabla de cadenas del archivo de recursos tiene varias cadenas con identificadores de cadena asociados.The string table in the resource file has several strings with associated string IDs. 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.This method adds a command button control for each valid entry in the string table between nIDCommandControlsFirst and nCommandControlsLast, inclusive. 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.For these command button controls, the string in the string table is the control's caption and the string ID is the control's ID.

Vea clase CTaskDialog:: SetOptions para obtener una lista de opciones válidas.See CTaskDialog::SetOptions for a list of valid options.

Se CTaskDialog cierra cuando el usuario selecciona un botón común, un control de vínculo de comando o cierra CTaskDialog .The CTaskDialog closes when the user selects a common button, a command link control, or closes the CTaskDialog. El valor devuelto es el identificador que indica cómo el usuario cerró el cuadro de diálogo.The return value is the identifier that indicates how the user closed the dialog box.

EjemploExample

// 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);
}

Clase CTaskDialog:: TaskDialogCallbackCTaskDialog::TaskDialogCallback

El marco de trabajo llama a este método en respuesta a varios mensajes de Windows.The framework calls this method in response to various Windows messages.

friend:
HRESULT TaskDialogCallback(
    HWND hWnd,
    UINT uNotification,
    WPARAM wParam,
    LPARAM lParam,
    LONG_PTR dwRefData);

ParámetrosParameters

identificadorhwnd
de Identificador m_hWnd de la estructura para CTaskDialog .[in] A handle to the m_hWnd structure for the CTaskDialog.

uNotificationuNotification
de Código de notificación que especifica el mensaje generado.[in] The notification code that specifies the generated message.

wParamwParam
de Más información sobre el mensaje.[in] More information about the message.

lParamlParam
de Más información sobre el mensaje.[in] More information about the message.

dwRefDatadwRefData
de Puntero al CTaskDialog objeto al que se aplica el mensaje de devolución de llamada.[in] A pointer to the CTaskDialog object that the callback message applies to.

Valor devueltoReturn Value

Depende del código de notificación específico.Depends on the specific notification code. Vea la sección Comentarios para obtener más información.See the Remarks section for more information.

ObservacionesRemarks

La implementación predeterminada de TaskDialogCallback controla el mensaje específico y, a continuación, llama al método en de la clase clase CTaskDialog.The default implementation of TaskDialogCallback handles the specific message and then calls the appropriate On method of the CTaskDialog Class. Por ejemplo, en respuesta al mensaje de TDN_BUTTON_CLICKED, TaskDialogCallback llama a clase CTaskDialog:: OnCommandControlClick.For example, in response to the TDN_BUTTON_CLICKED message, TaskDialogCallback calls CTaskDialog::OnCommandControlClick.

Los valores de wParam e lParam dependen del mensaje generado específico.The values for wParam and lParam depend on the specific generated message. Es posible que uno o ambos de estos valores estén vacíos.It is possible for either or both of these values to be empty. En la tabla siguiente se enumeran las notificaciones predeterminadas que se admiten y cuáles representan los valores de wParam e lParam .The following table lists the default notifications that are supported and what the values of wParam and lParam represent. Si invalida este método en una clase derivada, debe implementar el código de devolución de llamada para cada mensaje en la tabla siguiente.If you override this method in a derived class, you should implement the callback code for each message in the following table.

Mensaje de notificaciónNotification Message wParam ValorwParam Value lParam ValorlParam Value
TDN_CREATEDTDN_CREATED No se utiliza.Not used. No se utiliza.Not used.
TDN_NAVIGATEDTDN_NAVIGATED No se utiliza.Not used. No se utiliza.Not used.
TDN_BUTTON_CLICKEDTDN_BUTTON_CLICKED IDENTIFICADOR de control del botón de comando.The command button control ID. No se usa.Not used.
TDN_HYPERLINK_CLICKEDTDN_HYPERLINK_CLICKED No se usa.Not used. Estructura LPCWSTR que contiene el vínculo.A LPCWSTR structure that contains the link.
TDN_TIMERTDN_TIMER Tiempo en milisegundos desde que CTaskDialog se creó o se restableció el temporizador.Time in milliseconds since the CTaskDialog was created or the timer was reset. No se usa.Not used.
TDN_DESTROYEDTDN_DESTROYED No se utiliza.Not used. No se utiliza.Not used.
TDN_RADIO_BUTTON_CLICKEDTDN_RADIO_BUTTON_CLICKED IDENTIFICADOR del botón de radio.The radio button ID. No se usa.Not used.
TDN_DIALOG_CONSTRUCTEDTDN_DIALOG_CONSTRUCTED No se utiliza.Not used. No se utiliza.Not used.
TDN_VERIFICATION_CLICKEDTDN_VERIFICATION_CLICKED 1 si la casilla está activada, 0 si no lo está.1 if the check box is checked, 0 if it is not. No se usa.Not used.
TDN_HELPTDN_HELP No se utiliza.Not used. No se utiliza.Not used.
TDN_EXPANDO_BUTTON_CLICKEDTDN_EXPANDO_BUTTON_CLICKED 0 si el área de expansión está contraída; distinto de cero si se muestra el texto de la expansión.0 if the expansion area is collapsed; nonzero if the expansion text is displayed. No se usa.Not used.

Consulte tambiénSee also

ClasesClasses
CObject (clase)CObject Class
Gráfico de jerarquíaHierarchy Chart
Tutorial: agregar un clase CTaskDialog a una aplicaciónWalkthrough: Adding a CTaskDialog to an Application