CTaskDialog::AddRadioButton
CTaskDialog にオプション ボタンを追加します。
void CTaskDialog::AddRadioButton(
int nRadioButtonID,
const CString& strCaption,
BOOL bEnabled = TRUE
);
パラメーター
[入力] nRadioButtonID
オプション ボタンの ID 番号。[入力] strCaption
CTaskDialog で、オプション ボタンの横に表示する文字列。[入力] bEnabled
オプション ボタンが有効であるかどうかを示すブール値パラメーター。
解説
CTaskDialog クラスのオプション ボタンを使って、ユーザーから情報を収集できます。 CTaskDialog::GetSelectedRadioButtonID 関数を使用して、選択されたオプション ボタンを判別します。
CTaskDialog では、nRadioButtonID パラメーターが各オプション ボタンに対して一意である必要はありません。 ただし、各オプション ボタンに対して区別できる識別子を使用しなかった場合は、予期しない動作が発生する可能性があります。
使用例
// 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::GetSelectedRadioButtonID
CTaskDialog::IsRadioButtonEnabled