目次に戻る
一覧ページに戻る
CPGroup::AttachRadioButtonSelectEvent
2001/12/20 update.
グループ内のラジオボタンが選択されたときのコールバック関数を設定します。

書式

  typedef void (* LP_GROUPPROC)(CPGroup *lpGroup);
  CP_BOOL AttachRadioButtonSelectEvent(LP_GROUPPROC lpProc);

パラメータ


lpProc
「void xxxx(CPGroup *)」型のstatic関数を指定します。
ここで指定したコールバック関数に対し、グループ内のラジオボタンが選択された場合のイベント処理を行います。

解説


グループ内のラジオボタンが選択された場合のコールバック関数を設定します。
なお、コールバック関数は必ずstaticの静的関数である必要があります。
コールバックを解除する場合は「DetachRadioButtonSelectEvent( )」を呼び出してください。





ウィンドウ(ダイアログ)を生成して、その中にグループを配置します。
さらに、グループ内にラジオボタンを3つ追加しています。

CPWindow win;
CPGroup group;
CPRadioButton r1,r2,r3;

//グループ内のラジオボタンの選択イベントを受け取る
static void OnRadioSelect(CPGroup *lpGroup)
{
    int pos;

    //現在選択されているラジオボタンの番号
    pos=lpGroup->GetRadioButton();
}

void main()
{
    //ダイアログを生成する
    win.Clear();
    win.CreateNewDialog("TestDialog",120,120,240,120);

    //グループの位置・サイズを指定
    group.SetBounds(10,10,200,100);

    //グループの文字列を指定
    group.SetText("Group");

    //イベントのコールバック関数の設定
    group.AttachRadioButtonSelectEvent(OnRadioSelect);

    //グループをCPWindowに結びつける
    win.Add(&group);

    //グループにラジオボタンを追加
    r1.SetBounds(10,24,160,20);
    r1.SetText("Radio 1");
    group.Add(&r1);

    r2.SetBounds(10,46,160,20);
    r2.SetText("Radio 2");
    group.Add(&r2);

    r3.SetBounds(10,68,160,20);
    r3.SetText("Radio 3");
    group.Add(&r3);

    //ダイアログの表示・イベントループの開始
    win.DoModal();
}

この例の場合、
3つのラジオボタンをグループ内に配置し、ラジオボタンが選択されたときに「OnRadioSelect」関数が呼ばれることになります。


ビルド時に必要なファイル


ライブラリ :CPartsLib.lib (Macintoshの場合は、CPartsCW.a)
ヘッダ :CPGroup.h


関連リンク


CPGroupクラス
CPRadioButtonクラス
CPGroup::DetachRadioButtonSelectEvent