フォーム用コントロール要素の詳細

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


Book.png


フォームの作成に用いるコントロール要素は、ダイアログ用のコントロール要素と多くの共通点があります。ここでは、テキストボックスをはじめ、リストボックスとコンボボックスおよび各種のボタンについて説明します。

以下に、フォーム用コントロール要素の属性のうち、重要度の高いものをまとめます。これらの属性は、対応するモデルオブジェクトにも関係します。

フォームの場合、通常のコントロール要素に加えて、テーブルコントロール要素が使用でき、これを配置することでデータベーステーブル内のデータを直接表示することができます。これは「データベースフォーム」の章で説明されています。

ボタン

フォーム用ボタンのモデルオブジェクトには、次の属性が用意されています。

BackgroundColor (long)
背景色
DefaultButton (Boolean)
標準ボタンとする指定。True を指定した場合、フォーカスのない状態で Enter キーを押した場合に反応します。
Enabled (Boolean)
コントロール要素を有効化する指定。
Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
TabIndex (Long)
Tab キーによるフォーカス移動の順序の指定。
FontName (String)
フォントの種類の名前。
FontHeight (Single)
文字の高さ (ポイント)。
Tag (String)
プログラム制御によるアクセス用にボタンに格納しておく追加情報用の文字列。
TargetURL (String)
ボタンを URL にリンクさせる場合のターゲット URL。
TargetFrame (String)
TargetURL の内容を開くウィンドウ (またはフレーム) の名前 (URL 型のボタンをクリックした場合)。
Label (String)
ボタンのラベル。
TextColor (Long)
コントロール要素のテキストの色。
HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。
ButtonType (Enum)
ボタンアクションの指定 (com.sun.star.form.FormButtonType のデフォルト値)。

ButtonType 属性の指定値は、ボタンをクリックした際に実行するアクションを規定します。com.sun.star.form.FormButtonType には、この属性指定用に次の定数値が定められています。

PUSH
標準のプッシュ式ボタン。
SUBMIT
フォーム入力の終了用 (主として HTML フォームで使用)。
RESET
すべてのフォーム入力値の初期状態へのリセット用。
URL
TargetURL に指定した URL の呼び出し用 (表示先は TargetFrame の指定ウィンドウ)。

ダイアログの場合の OK およびキャンセルのボタンは、フォームでは用意されていません。

ラジオボタン

オプションボタンの次の属性は、モデルオブジェクトを通じて使用します。

Enabled (Boolean)
コントロール要素を有効化する指定。
Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
TabIndex (Long)
Tab キーによるフォーカス移動の順序の指定。
FontName (String)
フォントの種類の名前。
FontHeight (Single)
文字の高さ (ポイント)。
Tag (String)
プログラム制御によるアクセス用にボタンに格納しておく追加情報用の文字列。
Label (String)
ボタンの表書き。
Printable (Boolean)
コントロール要素を印刷する指定。
State (Short)
オプションをアクティブとするか (属性値を 1 とした場合)、非アクティブとするかの指定 (その他の値の場合)。
RefValue (String)
追加情報用の文字列 (データレコード ID の管理用などに使用)。
TextColor (Long)
コントロール要素のテキストの色。
HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。

ラジオボタンをグループ化する方法は、ダイアログとフォームとで異なります。ダイアログの場合は、タブストップの順番が連続したものは自動的にグループ化されますが、フォームの場合は、コントロール要素の名前を基準にしてグループ化が行われます。つまりグループ化するラジオボタンには、すべて同じ名前をつけます。OpenOffice.orgその際には、グループ内の全コントロール要素を 1 つの配列として管理するため、OpenOffice.org Basic によるボタン制御はこれまでと同様の方式で実行できます。

次のサンプルコードでは、グループ化したコントロール要素へのアクセス法を示します。

Dim Doc As Object
Dim Forms As Object
Dim Form As Object
Dim Ctl As Object
Dim I as Integer
 
Doc = StarDesktop.CurrentComponent
Forms = Doc.Drawpage.Forms
 
For I = 0 To Forms.Count - 1
  Form = Forms.GetbyIndex(I)
  If Form.HasByName("MyOptions") Then
    Ctl = Form. GetGroupbyName("MyOptions")
    Exit Function
  End If
Next I

上記のサンプルコードの処理の流れは、グループ化しない単独のコントロール要素へのアクセス法を説明した、先のサンプルコードのものと基本的に同じです。ここでは、現在の文書ドキュメントにあるすべてのフォームを取得してから、ループと HasByName メソッドを用いて、MyOptions という名前のコントロール要素が配置されたフォームがあるかをチェックしています。そして該当するフォームを検出した時点で、目的とするモデル配列への参照情報を GetGroupByName メソッドにより取得します (グループ化していないモデルの場合に使用したメソッドは GetByName)。

チェックボックス

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

Enabled (Boolean)
コントロール要素を有効化する指定。
Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
TabIndex (Long)
Tab キーによるフォーカス移動の順序の指定。
FontName (String)
フォントの種類の名前。
FontHeight (Single)
文字の高さ (ポイント)。
Tag (String)
プログラム制御によるアクセス用にボタンに格納しておく追加情報用の文字列。
Label (String)
ボタンのラベル。
Printable (Boolean)
コントロール要素を印刷する指定。
State (Short)
オプションをアクティブとするか (属性値を 1 とした場合)、非アクティブとするかの指定 (その他の値の場合)。
RefValue (String)
追加情報用の文字列 (データレコード ID の管理用などに使用)。
TextColor (Long)
コントロール要素のテキストの色。
HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。

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

テキストフィールドフォームのモデルオブジェクトでは、次の属性を使用できます。

Align (short)
テキストの配置 (0: 左揃え、1: 中央揃え、2: 右揃え)。
BackgroundColor (long)
コントロール要素の背景色。
Border (short)
外枠の種類 (0: なし、1: 3D 表示、2: 平坦な線)。
EchoChar (String)
パスワードフィールドのエコー文字。
FontName (String)
フォントの種類の名前。
FontHeight (Single)
文字の高さ (ポイント)。
HardLineBreaks (Boolean)
コントロール要素のテキスト内で改行する指定。
HScroll (Boolean)
テキストに横スクロールバーを使用する指定。
MaxTextLen (Short)
表示テキストの最大数で、0 の指定は制限無しに対応。
MultiLine (Boolean)
複数行項目を許可する指定。
Printable (Boolean)
コントロール要素を印刷する指定。
ReadOnly (Boolean)
コントロール要素を読み取り専用とする指定。
Enabled (Boolean)
コントロール要素を有効化する指定。
Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
TabIndex (Long)
Tab キーによるフォーカス移動の順序の指定。
FontName (String)
フォントの種類の名前。
FontHeight (Single)
文字の高さ (ポイント)。
Text (String)
コントロール要素のテキスト。
TextColor (Long)
コントロール要素のテキストの色。
VScroll (Boolean)
テキストに縦スクロールバーを使用する指定。
HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。

リストボックス

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

BackgroundColor (long)
コントロール要素の背景色。
Border (short)
外枠の種類 (0: なし、1: 3D 表示、2: 平坦な線)。
FontDescriptor (struct)
表示フォントの詳細指定用の構造体 (com.sun.star.awt.FontDescriptor に定められた構造体)。
LineCount (Short)
コントロール要素の行数。
MultiSelection (Boolean)
項目の複数選択を許可する指定。
SelectedItems (Array of Strings)
強調表示された項目のリスト。
StringItemList (Array of Strings)
すべての項目のリスト。
ValueItemList (Array of Variant)
個々の項目に付加する追加情報のリスト (データレコード ID の管理用などに使用)。
Printable (Boolean)
コントロール要素を印刷する指定。
ReadOnly (Boolean)
コントロール要素を読み取り専用とする指定。
Enabled (Boolean)
コントロール要素を有効化する指定。
Tabstop (Boolean)
コントロール要素を Tab キーによるフォーカス移動の対象にする指定。
TabIndex (Long)
Tab キーによるフォーカス移動の順序の指定。
FontName (String)
フォントの種類の名前。
FontHeight (Single)
文字の高さ (ポイント)。
Tag (String)
プログラム制御によるアクセス用にボタンに格納しておく追加情報用の文字列。
TextColor (Long)
コントロール要素のテキストの色。
HelpText (String)
コントロール要素にマウスポインタを重ねた際に表示するヘルプテキスト。
HelpURL (String)
コントロール要素で使用するオンラインヘルプの URL。
Documentation note.png フォーム用のリストボックスに用意された ValueItemList 属性は、VBA の ItemData 属性に相当するもので、リストの各項目に追加情報を付加する際に利用できます。

リストボックスの場合、ビューオブジェクトに対して次の属性が用意されています。

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


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