ダイアログコントロールの詳細

From Apache OpenOffice Wiki
Jump to: navigation, search
doc OOo
Book.png


Apache OpenOffice Basic には各種のコントロール要素が用意されていますが、これらは次の 4 つのグループに分類できます。

入力フィールド ボタン 選択リスト その他
  • テキストフィールド (テキストボックス)
  • 日付フィールド
  • 時刻フィールド
  • 番号フィールド
  • 通貨フィールド
  • その他の書式設定可能なフィールド
  • 標準ボタン (コマンドボタン)
  • チェックボックス
  • ラジオボタン
  • リストボックス
  • コンボボックス
  • スクロールバー (水平および垂直スクロールバー)
  • グループ枠
  • 進行グラフ
  • 分割線 (横線および縦線)
  • 図オブジェクト
  • ファイルの選択

ボタン

ボタンは、ユーザーによるクリックに応じて、特定のアクションを実行させる際に使用します。

最も単純な使用法は、ユーザーのクリックで発生する「When Initiating」イベントをトリガーとして、ボタンのアクションを実行させるという使い方です。またボタンに他のアクションを割り当てて PushButtonType 属性を利用し、別のダイアログを開くという処理も可能です。この属性値を 0 としたボタンをクリックしても、ダイアログはそのまま残されます。この属性値を 1 としたボタンをクリックした場合、ダイアログは閉じられ、ダイアログを表示していた Execute メソッドは戻り値として 1 を返します (ダイアログの処理は正常終了)。PushButtonType の属性値を 2 としたボタンをクリックした場合、ダイアログは閉じられ、ダイアログを表示していた Execute メソッドは戻り値として 0 を返します。

以下に、ボタンモデルで利用可能なすべての属性を示します。

Model.BackgroundColor (long)
背景の色。
Model.DefaultButton (Boolean)
フォーカスのない状態で Enter キーが押された場合に反応させる標準ボタンとする指定
Model.FontDescriptor (struct)
表示フォントの詳細指定用の構造体 (com.sun.star.awt.FontDescriptor に定められた構造体)
Model.Label (String)
ボタンに表示するラベル (タイトル)
Model.Printable (Boolean)
コントロール要素を印刷する指定。
Model.TextColor (Long)
コントロール要素のテキストの色。
Model.HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示させるヘルプテキスト
Model.HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。
PushButtonType (short)
ボタンアクションの指定 (0: なし、1: OK、2: キャンセル)

ラジオボタン

通常これらは複数のボタンをグループ化して、そのうち 1 つのオプションを選択することにより使用します。その際にオプションの 1 つが選択されると、残りのオプションは非選択状態になります。このように処理することで、選択状態にあるオプションは常に 1 つだけになります。

ラジオボタンのコントロール要素には、次の 2 つの属性があります。

State (Boolean)
ボタンの有効化。
Label (String)
ボタンに表示するラベル (タイトル)

ラジオボタンのモデルからは、次の属性も使用できます。

Model.FontDescriptor (struct)
表示フォントの詳細指定用の構造体 (com.sun.star.awt.FontDescriptor に定められた構造体)。
Model.Label (String)
コントロール要素に表示するラベル (タイトル)
Model.Printable (Boolean)
コントロール要素が印刷できると指定。
Model.State (Short)
オプションをアクティブとするか (属性値を 1 とした場合)、非アクティブとするかの指定 (その他の値の場合)。
Model.TextColor (Long)
コントロール要素のテキストの色。
Model.HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
Model.HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。

複数のラジオボタンをグループ化する場合は、これらをアクティブ化する順序の設定値 (Model.TabIndex 属性の指定値で、 はダイアログエディタ上では順序の指定に該当) に連続した値を指定しておく必要があります。アクティブ化する順序の途中に他のコントロール要素が入っていると、Apache OpenOffice は新規のコントロール要素グループが始まるものと判断するため、本来のグループ内部での切り替えが想定通りに行えなくなります。

Documentation note.png VBA とは異なり Apache OpenOffice Basic では、グループ枠の中にラジオボタンを挿入するということはできません。Apache OpenOffice Basic に用意されているグループ枠というコントロール要素は、グループ化するコントロール要素を目で見て区別できるように、これらを囲む枠線を引くだけのものです。

チェックボックス

チェックボックスは基本的に Yes または No の形式の情報を入力するために使用しますが、モード設定によっては、このような 2 つのステータス間だけでなく、3 つのステータス間で選択することもできます。通常使用するのは Yes か No かの選択肢ですが、どちらともつかない中間状態が選択肢としてあり得る場合は、それを示すステータスも表示できます。

チェックボックスには、次の属性を指定できます。

State (Short)
チェックボックスの状態 (0: No、1: Yes、2: 中間状態)
Label (String)
コントロール要素のラベル。
enableTriState (Boolean)
選択状態と非選択状態の他に、中間状態を表示する指定

チェックボックスのモデルオブジェクトでは、次の属性を使用できます。

Model.FontDescriptor (struct)
表示フォントの詳細指定用の構造体 (com.sun.star.awt.FontDescriptor に定められた構造体)。
Model.Label (String)
コントロール要素のラベル。
Model.Printable (Boolean)
コントロール要素を印刷する指定。
Model.State (Short)
チェックボックスの状態 (0: No、1: Yes、2: 中間状態)
Model.Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
Model.TextColor (Long)
コントロール要素のテキストの色。
Model.HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示させるヘルプテキスト。
Model.HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。

テキストボックス (テキストフィールド)

テキストボックスは、ユーザーによる数値およびテキストの入力に使用できます。com.sun.star.awt.UnoControlEdit. サービスにより、テキストボックスの機能が主として提供されています。

テキストボックスの表示は 1 行に制限することもできれば、複数行表示を許可することも可能で、またユーザーからの入力内容を編集することも、読み取り専用とすることもできます。またテキストボックスは、通常の通貨フィールドや番号フィールドまたはパターンフィールドでは処理しきれない場合の代用フィールドとしても利用できます。そもそも、これらのコントロール要素はどれも Uno サービスの UnoControlEdit をベースとしているので、基本的に共通した手法でプログラム制御をすることができます。

テキストボックスには、次の属性が用意されています。

Text (String)
現在のテキスト
SelectedText (String)
現在強調表示されているテキスト。
Selection (Struct)
読み取りの強調表示設定 (com.sun.star.awt.Selection に定められた構造体で、Min および Max 属性により強調表示の開始と終了箇所を指定)
MaxTextLen (short)
フィールド内に入力可能な最大文字数。
Editable (Boolean)
テキスト入力が許可されるか (True)、拒否されるか (False) の設定 (この属性は IsEditable を介した間接的な利用のみが可能)
IsEditable (Boolean)
コントロール要素の内容の変更を許可するか、読み取り専用とするかの指定。

モデルオブジェクトからは、次の属性を利用できます。

Model.Align (short)
テキストの配置 (0: 左揃え、1: 中央揃え、2: 右揃え)。
Model.BackgroundColor (long)
コントロール要素の背景色。
Model.Border (short)
外枠の種類 (0: なし、1: 3D 表示、2: 平坦な線)。
Model.EchoChar (String)
パスワードフィールドのエコー文字。
Model.FontDescriptor (struct)
表示フォントの詳細指定用の構造体 (com.sun.star.awt.FontDescriptor に定められた構造体)。
Model.HardLineBreaks (Boolean)
コントロール要素のテキスト内で改行する指定。
Model.HScroll (Boolean)
テキストに横スクロールバーを使用する指定。
Model.MaxTextLen (Short)
表示テキストの最大数で、0 の指定は制限無しに対応。
Model.MultiLine (Boolean)
数行に渡る項目を許可。
Model.Printable (Boolean)
コントロール要素を印刷する指定。
Model.ReadOnly (Boolean)
コントロール要素を読み取り専用とする指定。
Model.Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
Model.Text (String)
コントロール要素に関連するテキスト。
Model.TextColor (Long)
コントロール要素のテキストの色。
Model.VScroll (Boolean)
テキストに縦スクロールバーを使用する指定。
Model.HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
Model.HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。

リストボックス

リストボックス (com.sun.star.awt.UnoControlListBox サービス) は、次の属性をサポートしています。

ItemCount (Short)
要素数 (読み取り専用)。
SelectedItem (String)
強調表示された項目のテキスト (読み取り専用)。
SelectedItems (Array Of Strings)
強調表示された項目のデータフィールド (読み取り専用)。
SelectItemPos (Short)
強調表示中の項目の数 (読み取り専用)。
SelectItemsPos (Array of Short)
強調表示中の項目の数を格納したデータフィールド (複数選択可能なリストボックスのみ。読み取り専用)。
MultipleMode (Boolean)
複数選択が許可されるか (True)、拒否されるか (False) の設定 (この属性は IsMultipleMode を介した間接的な利用のみが可能)
IsMultipleMode (Boolean)
リスト内の複数選択を許可する指定 (読み取り専用)。

リストボックスには、次のメソッドが用意されています。

addItem (Item, Pos)
Item として渡された文字列を、Pos で指定するリスト位置に挿入します。
addItems (ItemArray, Pos)
文字列データフィールド ItemArray の形で渡された複数の項目を、Pos で指定するリスト位置に挿入します。
removeItems (Pos, Count)
Pos で指定するリスト位置から、Count 個の項目を削除します。
selectItem (Item, SelectMode)
文字列 Item に指定された項目の強調表示を、ブール値 SelectMode の指定に応じて切り換えます。
makeVisible (Pos)
Pos の指定位置にある項目を表示するよう、リストフィールドをスクロールします。

リストボックスのモデルオブジェクトには、次の属性が用意されています。

Model.BackgroundColor (long)
コントロール要素の背景色。
Model.Border (short)
外枠の種類 (0: なし、1: 3D 表示、2: 平坦な線)。
Model.FontDescriptor (struct)
表示フォントの詳細指定用の構造体 (com.sun.star.awt.FontDescriptor に定められた構造体)。
Model.LineCount (Short)
コントロール要素の行数。
Model.MultiSelection (Boolean)
項目の複数選択を許可する指定。
Model.SelectedItems (Array of Strings)
強調表示された項目のリスト。
Model.StringItemList (Array of Strings)
すべての項目のリスト。
Model.Printable (Boolean)
コントロール要素を印刷する指定。
Model.ReadOnly (Boolean)
コントロール要素を読み取り専用とする指定。
Model.Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
Model.TextColor (Long)
コントロール要素のテキストの色。
Model.HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
Model.HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。
Documentation note.png VBA に用意されているリスト項目への数値付加オプション (ItemData) は、Apache OpenOffice Basic では利用できません。リストボックスの項目に数値 (データベース ID など) を割り当てるのであれば、追加のデータフィールドを用意して、両者のデータを格納するようにします。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools