Top > OOoBasic > Dialog > OptionButton

オプションボタン Edit

複数の選択肢のうちの一つを選択させるためによく使われるコントロールです。

プロパティ Edit

他のコントロールと共通のプロパティは次のものです。

状態 Edit

プロパティ説明
Stateintegerチェック状態。チェックされていない: 0、チェック状態: 1

モデルでの操作 Edit

モデルでオプションボタンを操作するときに陥りやすいのは、モデルの State プロパティとコントローラで利用できる State プロパティ (偽プロパティである) の値の違いです。

モデル State: integer コントローラ State: boolean

この場合、値の型を間違うと正しく設定されませんので注意が必要です。

グループ化 Edit

同じグループにあるオプションボタンは、グループ内でひとつしか選択できないようになります。

複数のオプションボタンをグループ化するには、「タブの順序」を連続するように設定します。ひとつでもタブの順序が開いているオプションボタンは別のグループになります。オプションボタンのグループを複数作成する必要があるときには、グループ間の「タブの順序」をオプションボタン以外のコントロールに割り当てます。

グループボックスで囲ってもグループ化されません。

フォーム上でのグループ化 Edit

フォーム上に配置したオプションボタンはタブの順序ではグループ化できません。その代わりにグループ化したいオプションボタンに同じ名前を付けます。

同じ名前を付けると XNameContainer で区別できなくなるため、最初に見つかったコントロールが取得されるようになってしまいます。その代わりに同名グループとして取得します。これには com.sun.star.awt.XTabControllerModel インターフェースを利用します。

Sub optionbutton_10
 oDoc = ThisComponent
 oForm = oDoc.getDrawPage().getForms().getByIndex(0)
 oControls = Array()
 oForm.getGroupByName("OptionButton1",oControls)
 
 sValue = ""
 
 For i = 0 To UBound(oControls) step 1
   If oControls(i).State = 1 Then
     sValue = oControls(i).RefValue
     Exit For
   End If
 Next
 
 Select Case sValue
 Case "On"
   msgbox "on"
 Case "Off"
   msgbox "off"
 End Select
End Sub

コントローラ Edit

コントロールのコントローラオブジェクト

Labelstringラベル
Stateboolean状態
ActionCommandstringコマンド
  • void setLabel ( [in] string Label )
    • ラベルを設定する
  • string getLabel ()
    • ラベルを取得する
  • boolean getState ()
    • 状態を取得する
  • void setState ( [in] boolean b )
    • 状態を設定する
  • void setActionCommand ( [in] string Command )
    • コマンドの設定

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes