次の方法で共有


CTaskDialog::LoadRadioButtons

ストリング テーブルのデータを使用して、オプション ボタン コントロールを追加します。

void LoadRadioButtons(
   int nIDRadioButtonsFirst,
   int nIDRadioButtonsLast
);

パラメーター

  • [入力] nIDRadioButtonsFirst
    最初のオプション ボタンの文字列 ID。

  • [入力] nIDRadioButtonsLast
    最後のオプション ボタンの文字列 ID。

解説

このメソッドは、アプリケーションのリソース ファイルからのデータを使用して、オプション ボタンを作成します。リソース ファイル内のストリング テーブルには、いくつかの文字列が含まれ、それぞれ文字列 ID が関連付けられています。このメソッドを使用して追加された新しいオプション ボタンでは、文字列がオプション ボタンのキャプションとして使用され、文字列 ID がそのオプション ボタンの ID として使用されます。選択する文字列の範囲は、nIDRadioButtonsFirst から nRadioButtonsLast まで (この 2 つも含む) として設定されます。範囲内に空のエントリがある場合、そのエントリに対してはオプション ボタンが追加されません。

既定では、新しいオプション ボタンが有効になります。

使用例

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

必要条件

ヘッダー: afxtaskdialog.h

参照

関連項目

CTaskDialog クラス

階層図

CTaskDialog::AddRadioButton

CTaskDialog::SetRadioButtonOptions

CTaskDialog::RemoveAllRadioButtons