ダイアログやテキストボックス、リストボックス等のGUI部品を制御するために、OpenOffice.org Basicでは、これらのGUI部品をコントロール・オブジェクトとして表します。
OpenOffice.org Basicでダイアログを表示する例を次に示します。
Dim Private oDialog1 As Object
Sub Dialog1Show
BasicLibraries.LoadLibrary("Tools")
oDialog1 = LoadDialog("Standard", "Dialog1")
oDialog1.Execute()
End Sub
ダイアログを終了する例を次に示します。
Sub Dialog1End
oDialog1.endExecute()
End Sub
OKボタンをクリックしたときのイベントに
Dialog1End
を割り当てます。
コントロール・オブジェクトを取得するには、GetControlを使用します。
Dim oListBox1 As Object
oListBox1 = oDialog1.GetControl("ListBox1")
ダイアログ・コントロールのプロパティ一覧を次に示します。
名前 | 種類 |
---|---|
Menubar | Object(配列) |
Title | String |
Types | Object(配列) |
ImplemnetationId | Integer(配列) |
TabControllers | Object(配列) |
Controls | Object(配列) |
StatusText | String |
ElementType | Object |
Identifiers | Long(配列) |
Context | Object |
Peer | Object |
Model | stardiv.Toolkit.UnoControlDialogModel |
View | stardiv.Toolkit.UnoDialogControl |
DesignMode | Boolean |
PosSize | com.sun.star.awt.Rectangle |
OutputSize | com.sun.star.awt.Size |
Visible | Boolean |
Enable | Boolean |
Graphics | Object |
Size | com.sun.start.awt.Size |
ImplementationName | String |
SupportedServiceNames | String(配列) |
AccessibleContext | com.sun.start.comp.toolkit.AccessibleDropDownListBox |
Delegator | Object |
番号フィールドはテキストフィールドと似ていますが、数値だけが入力できるフィールドです。
番号フィールド・コントロールのプロパティ一覧を次に示します。
名前 | 種類 |
---|---|
Value | Double |
番号フィールドに入力された数値は Value プロパティで参照することができます。
Dim oDialog As Object
Dim oNumericField As Object
Dim dPeriod As Double
BasicLibraries.LoadLibrary("Tools")
oDialog = LoadDialog("Standard", "Dialog1")
oDialog.Execute()
oNumericField = oDialog.GetControl("NumericField1")
dPeriod = oNumericField.Value
チェックボックス・コントロールのプロパティ一覧を次に示します。
名前 | 種類 |
---|---|
State | Integer |
チェックボックスが選択されているかどうかは State プロパティを参照することで判断できます。
値 | 意味 |
---|---|
0 | 選択されていない |
1 | 選択されている |
ラジオボタン・コントロール(オプションボタン)はチェックボックスに似ていますが、グループのうちひとつしか選択できません。あるラジオボタンを選択すると、その他のラジオボタンはすべて選択されない状態となります。
ラジオボタンが選択されているかどうかは、Stateプロパティで判断することができます。StateプロパティはBoolean型で、TrueまたはFalseのいずれかの値です。Stateプロパティの値がTrueの場合は、ラジオボタンが選択されている状態です。Stateプロパティの値がFalseの場合は、ラジオボタンが選択されていない状態です。
OpenOffice.org Basicでラジオボタンを使用する例を次に示します。
Dim oDialog As Object
Dim oOptionButton As Object
BasicLibraries.LoadLibrary("Tools")
oDialog = LoadDialog("Standard", "Dialog1")
oDialog.Execute()
oOptionButton = oDialog.GetControl("OptionButton1")
If oOptionButton.State = True Then
' ボタンが選択されているときの処理
Else
' ボタンが選択されていない時の処理
End If
リストボックス・コントロールのプロパティ一覧を次に示します。
名前 | 種類 |
---|---|
Types | Object(配列) |
ImplemnetationId | Integer |
ItemCount | Integer |
Items | String(配列) |
SelectedItemPos | Integer |
SelectedItemsPos | Integer(配列) |
SelectedItem | String |
SelectedItems | String(配列) |
DropDownLineCount | Integer |
MultipleMode | Boolean |
MimimumSize | com.sun.star.awt.Size |
PreferredSize | com.sun.star.awt.Size |
Context | stardiv.Toolkit.UnoDialogControl |
Peer | Object |
Model | stardiv.Toolkit.UnoControlListBoxControl |
View | stardiv.Toolkit.UnoListBoxControl |
DesignMode | Boolean |
PosSize | com.sun.star.awt.Rectangle |
OutputSize | com.sun.star.awt.Size |
Visible | Boolean |
Enable | Boolean |
Graphics | Object |
Size | com.sun.start.awt.Size |
ImplementationName | String |
SupportedServiceNames | String(配列) |
AccessibleContext | com.sun.start.comp.toolkit.AccessibleDropDownListBox |
Delegator | Object |
単一選択リストボックスの場合、選択された項目の文字列はSelectedItemプロパティで参照することができます。選択された項目の位置(数値)はSelectedItemPosプロパティで参照することができます。
複数選択リストボックスの場合、選択された項目の文字列はSelectedItemsプロパティで参照することができます。選択された項目の位置(数値)はSelectedItemsPosプロパティで参照することができます。
ダイアログ・コントロールにイベントを割り当てると、ボタンをクリックしたときなどにOpenOffice Basicのプロシージャを実行することができる。
ダイアログ・コントロールにイベントを割り当てる手順を次に示す。
ダイアログ・コントロールのイベント一覧を次に示す。
イベント | 説明 |
---|---|
作動時 | ダイアログ・コントロールが作動したときに発生するイベント。
コマンドボタンであれば、(マウスまたはキーボードにより)ボタンが押されたとき。 |
フォーカスを得た時 | マウスクリックまたはタブキーが押されてフォーカスを得たときに発生するイベント。 |
フォーカスを失った時 | マウスクリックまたはタブキーが押されてフォーカスを失ったときに発生するイベント。 |
キーを押した時 | ダイアログ・コントロールにフォーカスがあるときに、何らかのキーが押されたら発生するイベント。
コマンドボタンの場合、スペースキー(ボタンを押す)だけでなくタブキー(フォーカスの移動)が押されてもイベントが発生するので注意。 |
キーを離した時 | ダイアログ・コントロールにフォーカスがあるときに、何らかのキーが押されたらに発生するイベント。 |
マウスを中に入れた時 | マウスカーソルをダイアログ・コントロール内に入れたときに発生するイベント。 |
マウスボタンを押した時 | マウスボタンが押されたら発生するイベント。 |
マウスボタンを離した時 | マウスボタンを離したら発生するイベント。 |
マウスを外に出した時 | マウスカーソルをダイアログ・コントロール内から外に出したときに発生するイベント。 |