RadioButtonGroup コントロール

RadioButtonGroup コントロールはラジオ ボタンのグループです。 これを使うと、ユーザーは、事前に定義された値の一覧からプロパティの文字列または整数値を選択できます。 コントロールをプロパティに関連付けるには、Control テーブルの Property 列にプロパティの名前を入力します。 RadioButton テーブルの Value 列に選択できる値を指定します。 表示される文字列は、必ずしもユーザーが選ぶ値と同じではないことに注意してください。

すべての RadioButtonGroup コントロールは、プロパティに関連付けられます。 このプロパティの既定値は、Property テーブルで初期化される必要があります。 RadioButton テーブルで指定されている各 RadioButtonGroup 内には、Value フィールドの値がこのプロパティの既定値と一致するラジオ ボタンが 1 つ存在できます。 これは RadioButtonGroup コントロールの既定のボタンです。 Default ボタンは、最初から選択された状態でコントロールに表示されます。

ダイアログ ボックスのフォーカスは、グループ内のいずれかのボタンが選択されるまで RadioButtonGroup コントロールに移動できないことに注意してください。 フォーカスをこのボタン グループに移動できるようにするには、ボタンの 1 つをグループの既定のボタンとして指定します。

RadioButtonGroup コントロールはプロパティ値を設定するだけであり、ControlEvent を送信するために使うことはできません。

実装では、グループ全体を 1 つのコントロールとして扱うので、グループ内の個々のボタンを非表示にしたり無効にしたりすることはできません。 同様に、すべてのボタンは同じスタイルにする必要があります。つまり、すべてにテキストを設定するか、すべてにビットマップ (または他の同様の機能) を設定します。 ボタンの位置は、グループを基準にして作成されます。 このように、個々のボタンを変更することなく、グループの座標を変更するだけで、グループ全体を移動できます。 コントロールは、作成時に個々のボタンがグループの境界からはみ出さないことを確認します。

コントロールの属性

このコントロールでは次の属性を使用できます。 イベントを使用して属性の値を変更するには、EventMapping テーブルの ControlEvent にコントロールをサブスクライブし、Attribute 列に属性の識別子を記載します。 Event 列に ControlEvent の識別子を入力します。

属性識別子 16 進数ビット 説明
IndirectPropertyName これは、コントロールに関連付けられている間接プロパティの名前です。 Indirect 属性ビットが設定されている場合、コントロールは、この名前を持つプロパティの値を表示または変更します。 Indirect 属性ビットが設定されている場合、この名前は、Control テーブルの Property 列に記載されているプロパティの値でもあります。
Position ダイアログ ボックス内のコントロールの位置。 Control テーブルの Width、Height、X、Y の各列に、コントロールの幅、高さ、左隅の座標を入力します。 長さと距離にはインストーラー単位を使用します。
PropertyName   これは、このコントロールに関連付けられているプロパティの名前です。 Indirect 属性ビットが設定されていない場合、コントロールは、この名前を持つプロパティの値を表示または変更します。 この属性は、Control テーブルの Property 列で指定されます。
PropertyValue このコントロールによって表示または変更されるプロパティの現在の値。 Indirect 属性ビットが設定されていない場合、これは PropertyName の値です。 Indirect 属性ビットが設定されている場合、これは IndirectPropertyName の値です。 属性が変更された場合、コントロールは新しい値を反映します。
テキスト このコントロール属性は、コントロールによって表示されるテキスト、Binary テーブルに格納されている画像、または実行時に設定された画像を指定できます。 テキストを指定するには、Control テーブルの Text 列にテキスト文字列を入力します。 このテキストのフォントとフォント スタイルを設定するには、表示される文字の文字列の先頭に {\style} または {&style} を付けます。 ここで、style は、TextStyle テーブルの TextStyle 列に記載されている識別子です。 これらのどちらも存在しないが、DefaultUIFont プロパティが有効なテキスト スタイルとして定義されている場合は、そのフォントが使用されます。
Binary テーブルに格納されているアイコンまたはビットマップ画像を指定するには、Binary テーブルの Name 列から、コントロールに対する Control テーブル レコードの Text 列に、画像のレコードの主キーを入力します。
[表示] 0x00000000 0x00000001
表示されないコントロール。 表示されるコントロール。
コントロールの作成時にコントロールを表示可能にするか非表示にするかを設定するには、Control テーブルの Attributes 列のビット ワードにこのビットを含めます。
ControlCondition テーブルを使って、コントロールの非表示または表示を設定することもできます。
有効 0x00000000 0x00000002
無効状態のコントロール。 有効状態のコントロール。
作成時にコントロールを有効にするには、Control の Attributes 列にこのビットを含めます。
ControlCondition テーブルを使用して、コントロールを有効または無効にすることもできます。
Sunken 0x00000000 0x00000004
既定の表示スタイルを表示します。 浮き彫りの 3-D の外観を使用してコントロールを表示します。
Control テーブルの Attributes 列のビット ワードにこれらのビットを含めます。
間接 0x00000000 0x00000008
コントロールは、Control テーブルの Property 列内にあるプロパティの値を表示または変更します。 コントロールは、Control テーブルの Property 列に記載されている識別子を持つプロパティの値を表示または変更します。
このコントロールに関連付けられているプロパティが間接的に参照されるかどうかを決定します。
整数 0x00000000 0x00000010
コントロールに関連付けられているプロパティは、文字列値です。 コントロールに関連付けられているプロパティは、整数値です。
コントロールの作成時にこの属性を設定するには、Control テーブルの Attributes 列のビット ワードにこのビットを含めます。
RTLRO 0x00000000 0x00000020
コントロール内のテキストは、左から右への読み取り順序で表示されます。 コントロール内のテキストは、右から左への読み取り順序で表示されます。
RightAligned 0x00000000 0x00000040
コントロール内のテキストは、左揃えになります。 コントロール内のテキストは、右揃えになります。
PushLike 0x00000000 0x00020000
コントロールは通常の外観で描画されます。 コントロールには BS_PUSHLIKE スタイルがあり、プッシュ ボタンとして表示されるように描画されます。
コントロールの作成時にこの属性を設定するには、Control テーブルの Attributes 列のビット ワードにこのビットを含めます。
Bitmap 0x00000000 0x00040000
コントロールのテキストは Control テーブルの Text 列に指定されます。 コントロールは BS_BITMAP スタイルで、コントロール内のテキストはビットマップ画像に置き換えられます。 Control テーブルの Text 列は、Binary テーブルへの外部キーとして使用されます。
Control テーブルの Attributes 列のビット ワードにこのビットを含めます。
アイコンとビットマップ スタイルのビットを同時に設定しないでください。 ボタンにビットマップ画像とテキストの両方を含めることはできません。
テキスト文字列のフォントとフォント スタイルを設定するには、表示される文字の文字列の先頭に {\style} または {&style} を付けます。 ここで、style は、TextStyle テーブルの TextStyle 列に記載されている識別子です。 これらのどちらも存在しないが、DefaultUIFont プロパティが有効なテキスト スタイルとして定義されている場合は、そのフォントが使用されます。
アイコン 0x00000000 0x00080000
コントロールのテキストは Control テーブルの Text 列に指定されます。 コントロールは BS_ICON スタイルで、コントロール内のテキストはアイコン画像に置き換えられます。 Control テーブルの Text 列は、Binary テーブルへの外部キーとして使用されます。
Control テーブルの Attributes 列のビット ワードにこのビットを含めます。
アイコンとビットマップのビットを同時に設定しないでください。 ボタンにアイコン画像とテキストの両方を含めることはできません。
テキスト文字列のフォントとフォント スタイルを設定するには、表示される文字の文字列の先頭に {\style} または {&style} を付けます。 ここで、style は、TextStyle テーブルの TextStyle 列に記載されている識別子です。 これらのどちらも存在しないが、DefaultUIFont プロパティが有効なテキスト スタイルとして定義されている場合は、そのフォントが使用されます。
FixedSize 0x00000000 0x00100000
コントロールに合わせてアイコン画像を拡大します。 コントロール内のアイコン画像をトリミングするか、中央に表示します。
Control テーブルの Attributes 列のビット ワードにこのビットを含めます。
IconSize 0x00000000 0x00200000
0x00400000
0x00600000
最初の画像を読み込みます。 最初の 16 x 16 画像を読み込みます。
最初の 32 x 32 画像を読み込みます。
最初の 48 x 48 画像を読み込みます。
アイコン ファイルには、同じアイコンのさまざまなサイズの画像を含めることができます。 Control テーブルの Attributes 列に適切なビット ワードの値を含めます
これらのビットが設定されていない場合、インストーラーで FixedSize 属性は無視され、画像はコントロールの四角形に合わせて拡大されます。 IconSize ビットと FixedSize ビットの両方が設定されている場合、コントロールよりも小さい画像は中央に配置され、コントロールよりも大きい画像は収まるように縮小されます。
HasBorder 設定しない、0x01000000
罫線なし、テキストなし。 罫線とテキストを表示します。
罫線とテキストを表示するには、Control の Attributes 列のビット ワードに 16777216 を含めます。

 

解説

Windows のフレーム描画方法により、キャプションがない場合でも、コントロールのウィンドウの上部と表示されるフレームの間に隙間があります。

このコントロールは、CreateWindowEx 関数を使って、BUTTON クラスから作成できます。 HasBorder ビットが設定されている場合は BS_GROUPBOX スタイル、それ以外の場合は BS_OWNERDRAW スタイルになります。

RadioButtonGroup コントロールは他のコントロールに重ならないようにしてください。また、他のコントロールは RadioButtonGroup に重ならないようにしてください。 このコントロールと他のコントロールを重ねると、コントロールが機能しなくなることや、適切に表示されなくなることがあります。 RadioButtonGroup コントロールに関する追加の説明文をスクリーンリーダーに提供するには、「ラジオ ボタンにテキストを追加する」に掲載されている例に従ってください。