Compartir a través de


CTaskDialog::LoadCommandControls

Agregar controles de Botón de comando utilizando los datos de la tabla de cadenas.

void LoadCommandControls(
   int nIDCommandControlsFirst,
   int nIDCommandControlsLast
);

Parámetros

  • [in] nIDCommandControlsFirst
    El identificador de cadena del primer comando.

  • [in] nIDCommandControlsLast
    El identificador de cadena de comando pasado.

Comentarios

Este método crea los controles de Botón de comando utilizando los datos del archivo de recursos de la aplicación. la tabla de cadenas en el archivo de recursos tiene varias cadenas con id. asociado de la cadena. Los nuevos controles de Botón de comando agregados mediante este método utilizan la cadena para la leyenda del control y el identificador de cadena para el identificador de control El intervalo de cadenas seleccionado proporcionado por nIDCommandControlsFirst y nCommandControlsLast, inclusive. Si hay una entrada vacía en el intervalo, este método no agrega un control de Botón de comando para esa entrada.

De forma predeterminada, los nuevos controles de Botón de comando se habilitan y no requieren la elevación.

Ejemplo

// TODO: Replace the strings below with the appropriate message,  
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");

CTaskDialog taskDialog(message, mainInstruction, title, 
    TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON );

taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");

// Show the CTaskDialog and remember how the user closed it. 
int selection = taskDialog.DoModal();

switch(selection)
{
case 201:
    // TODO: Place processing here for the first  
    // command button control. 
    break;

case 202:
    // TODO: Place processing here for the second  
    // command button control. 
    break;

case 203:
    // TODO: Place processing here for the third  
    // command button control. 
    break;

default:
    break;
}

// Remove all the command controls so that we can use the same task 
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();

taskDialog.AddCommandControl(301, 
    L"New first command button control");
taskDialog.AddCommandControl(302, 
    L"New second command button control should require elevation",
    TRUE, TRUE);
taskDialog.AddCommandControl(303, 
    L"New third command button control should be disabled");

// Change the default command button control
taskDialog.SetDefaultCommandControl(302);

// Make sure the third option is disabled. 
if (taskDialog.IsCommandControlEnabled(303))
{
    taskDialog.SetCommandControlOptions(303, FALSE);
}

taskDialog.DoModal();

switch(taskDialog.GetSelectedCommandControlID())
{
case 301:
    // TODO: Place processing here for new first  
    // command button control. 
    break;

case 302:
    // TODO: Place processing here for new second  
    // command button control. 
    break;

case 303:
    // TODO: Place processing here for the new third  
    // command button control. 
    break;

default:
    break;
}

// Remove all the command button controls and add new ones from 
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);

Requisitos

encabezado: afxtaskdialog.h

Vea también

Referencia

CTaskDialog Class

Gráfico de jerarquías

CTaskDialog::AddCommandControl

CTaskDialog::SetCommandControlOptions

CTaskDialog::RemoveAllCommandControls