プロパティー
Template:EN/Documentation/BASICGuideTOC/v2
Contents
▼名前とタイトル
各コントロール要素には名前が付けられており、これらの名前に対しては、以下のモデルプロパティーを用いて参照することができます。
- Model.Name (String)
- コントロール要素名
ダイアログのタイトルバーに表示されるタイトルに対しては、以下のモデルプロパティーを用いて参照することができます。
- Model.Title (String)
- ダイアログタイトル (ダイアログに対してのみ適用)
▼位置とサイズ
コントロール要素の表示位置とサイズに対しては、以下のモデルプロパティーを用いて参照することができます。
- Model.Height (long)
- コントロール要素の高さ (ma 単位)
- Model.Width (long)
- コントロール要素の幅 (ma 単位)
- Model.PositionX (long)
- ダイアログ内側の左端から測った、コントロール要素の X 座標 (ma 単位)
- Model.PositionY (long)
- ダイアログ内側の上端から測った、コントロール要素の Y 座標 (ma 単位)
Apache OpenOffice では、プラットフォームへの非依存性を確保する観点から、ダイアログ内での位置とサイズを示す際に、Map AppFont (ma) という内部単位を使用しています。 ▼ma 単位では、オペレーティングシステムに設定されたシステムフォントの平均サイズを基準に、その高さの 8 分の 1 および幅の 4 分の 1 を、各方向の 1 単位と定めています。Apache OpenOffice はこのような ma 単位を利用することで、システム設定の異なる環境下においても、ダイアログの表示が同じになるようにしています。
実行時に表示されるコントロール要素の位置とサイズを変更する場合は、ダイアログのサイズを確認してから、コントロール要素の表示指定を調整します。
フォーカスおよびタブ順
ダイアログ上に配置されたコントロール要素に対しては、Tab キーによるフォーカス移動が行えます。▼こうした操作に関係するコントロール要素モデルでは、以下の属性が利用できます。
- Model.Enabled (Boolean)
- コントロール要素をアクティブにする指定
- Model.Tabstop (Boolean)
- コントロール要素を Tab キーによるフォーカス移動の対象にする指定
- Model.TabIndex (Long)
- アクティブ化の順序におけるコントロール要素の位置
最後に紹介する getFocus メソッドは、ダイアログ上のコントロール要素にフォーカス移動を行うよう設定するものです。
- getFocus
- コントロール要素がフォーカスを受け取ります (ダイアログの場合のみ)
マルチページダイアログ
Apache OpenOffice のダイアログには、複数のページを配置できます。 ダイアログにある Step プロパティーはダイアログの現在のタブページを指定するものですが、コントロール要素にも同様の Step プロパティーが存在し、こちらは該当コントロールを表示するタブページを指定します。
Step に指定する値のうち、0 は特別な意味を持ちます。 ダイアログ側で Step プロパティー値に 0 を指定すると、コントロール要素側の指定値とは無関係に、すべてのコントロール要素が表示されるようになります。 ▼これとは逆に、Step 属性値を 0 に設定したコントロール要素は、ダイアログのすべてのタブページ上に\'95\'5c示されるようになります。
前の例では、分割線だけでなく「Cancel「、「Prev」、「Next」、「Done」の各ボタンについても Step の値を 0 に設定し、これらの要素をすべてのページに表示できます。 ▼ただし必要であれば、各コントロール要素を特定のタブページだけに\'95\'5c示させることもできます (たとえばページ 1)。
以下のサンプルコードでは、イベントハンドラに応じて、「Next」および「Prev」ボタンの Step 値を増減させて、ボタンの表示用ステータスを変更しています。
Sub cmdNext_Initiated Dim cmdNext As Object Dim cmdPrev As Object cmdPrev = Dlg.getControl("cmdPrev") cmdNext = Dlg.getControl("cmdNext") cmdPrev.Model.Enabled = Not cmdPrev.Model.Enabled cmdNext.Model.Enabled = False Dlg.Model.Step = Dlg.Model.Step + 1 End Sub Sub cmdPrev_Initiated Dim cmdNext As Object Dim cmdPrev As Object cmdPrev = Dlg.getControl("cmdPrev") cmdNext = Dlg.getControl("cmdNext") cmdPrev.Model.Enabled = False cmdNext.Model.Enabled = True Dlg.Model.Step = Dlg.Model.Step - 1 End Sub
このサンプルコードを使用する場合は、ダイアログの参照に用いる Dlg という変数を、広域変数として用意しておく必要があります。 ▼そしてこのサンプルコードの実行により、ダイアログ上の\'83\'7bタンは、以下の\'90\'7dのように\'95\'5c示ステータスが切り換えられます。
Content on this page is licensed under the Public Documentation License (PDL). |