Last Updated 2003/02/18
Programming Tips Visual C++ MFC 他のコントロール  索 引 
ラジオボタンの操作(イベント)
2003/02/18

複数のラジオボタンのイベントを定義する.
ClassWizard だとボタンごとにイベントハンドラができてしまう.
同じようなコードばかりだと保守性も悪い.

そこで ON_CONTROL_RANGE を使用する.

ON_CONTROL_RANGE(BN_CLICKED, 先頭の ID, 最後の ID, メッセージ処理関数)

と定義しておけばハンドラは1つで済む.

    ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
    ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO1, IDC_RADIO3, OnRadio)

このように記述すると,IDC_RADIO2 が押下されると, OnRadio2 が呼び出され,IDC_RADIO1 と IDC_RADIO3 が押下されると,OnRadio が呼び出される.

    ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO1, IDC_RADIO3, OnRadio)
    ON_BN_CLICKED(IDC_RADIO2, OnRadio2)

このように記述すると,IDC_RADIO2 が押下されると, OnRadio2 が呼び出されない.OnRadio が呼び出される.


参照
ラジオボタンの操作
ラジオボタンの操作(ループ使用)
前後のTips
ラジオボタンの操作(イベント)

DSS ProgrammingTipsCGI Ver2.02