グループ内のラジオボタンが選択されたときのコールバック関数を設定します。
書式
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