VC++の使い方

VC++の使い方 > リファレンス > GUIリファレンス > ラジオボタンコントロール
このページの内容
ラジオボタンコントロールとは
作成方法
使い方
ありがたいスポンサー様
All About ソフトウエアエンジニア
ネットで8%割引!自動車保険はアメリカンホーム・ダイレクト
人生の「チャンス」と「ピンチ」にモビット!
保険料が一生上がらない、保険料最大50%割引の一生涯の医療保険!

ラジオボタンコントロールとは

ラジオボタンコントロールは、次のような用途に使います。


ラジオボタンの例は、下の図を見れば分かると思います。どれか1つを選ぶときに用います。これは、Windows2000のフォルダオプションの全般タブの一部分です。上の項目を選ぶと、無効になっているラジオボタンが有効になって選択できます。ラジオボタンは、選択を変更したときに、他の項目を有効無効にするような処理がよく行われます。

ラジオボタンの例
ラジオボタンの例

作成方法

CreateWindow で作成する方法

CreateWindow( 
    "button",                           // クラス名
    "OK",                               // 表示する文字列
    BS_AUTORADIOBUTTON | WS_CHILD | WS_VISIBLE,
                                        // ウインドウスタイル
    x, y,                               // 左上の座標
    iWidth, iHeight,                    // 幅と高さ
    hParent,                            // 親ウインドウのウインドウハンドル
    NULL,                               // メニューハンドル。NULLでよい。
    hInstance,                          // アプリケーションのインスタンスハンドル。
    NULL                                // ウインドウ作成データ。NULLでよい
);

ダイアログで作成する方法

ダイアログエディタで作成する場合には、コントロールバーの 『ラジオボタン』 を選択してドラッグすれば作成できます。

コントロールバーが表示されていない場合は、VC++ のメニューの上で右クリックして、『コントロール』 をチェックすれば出てきます。

ウインドウハンドルを取得するには、hwnd = GetDlgItem( hDlg, IDC_BUTTON) ;といった感じできます。

使い方

選択状態を取得する

// ダイアログの場合
BOOL IsDlgButtonChecked(HWND hwnd, int nIDButton) ;

選択状態を変更する

// 選択
SendMessage(hwndCombo, BM_SETCHECK, BST_CHECKED, 0);

// 非選択
SendMessage(hwndCombo, BM_SETCHECK, BST_UNCHECKED, 0);

選択状態をまとめて変更する

// この関数を使うと、nIDFirstButton から nIDLastButton の間の内
// nIDCheckButton だけを選択状態にすることができる。
int CheckRadioButton(
	HWND hwnd, 
	int nIDFirstButton, 
	int nIDLastButton, 
	int nIDCheckButton);