属性

From Apache OpenOffice Wiki
< ZH/Documentation/BASIC Guide
Revision as of 14:39, 6 July 2018 by Sancho (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
doc OOo
Book.png


名称和标题

每个控制元素都具有自己的名称,可以使用以下模型属性查询这些名称:

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 单位的高度和宽度分别被定义为操作系统中定义的系统字体字符平均高度和宽度的八分之一和四分之一。通过使用 ma 单位,Apache OpenOffice 可确保其对话框在使用不同系统设置的不同系统上外观都一致。

如果要更改运行时的控制元素的大小或位置,请确定对话框的总体大小,然后将控制元素的值调整为相应的比率。

Documentation note.png 用 Map AppFont (ma) 替换缇单位以获得更好的平台独立性。

焦点和 Tab 键序列

可通过按 Tab 键浏览任意对话框中的控制元素。在此情况下,可以在控制元素模型中使用以下属性:

Model.Enabled (Boolean)
激活控制元素
Model.Tabstop (Boolean)
允许通过 Tab 键访问控制元素
Model.TabIndex (Long)
控制元素在激活顺序中的位置

最后,控制元素提供了 getFocus 方法,以确保底层控制元素获得焦点:

getFocus
控制元素获得焦点(仅适用于对话框)

多页对话框

Apache OpenOffice 中的对话框可以具有多个选项卡页面。对话框的 Step 属性定义了对话框的当前选项卡页面;而控制元素的 Step 属性则指定显示此控制元素的选项卡页面。

Step 值为 0 是一种特殊情况。如果在对话框中将该值设置为 0,则会显示所有控制元素,无论它们具有什么 Step 值。同样地,如果将控制元素的该值设置为 0,则会在对话框的所有选项卡页面上显示该元素。

设计对话框的第 1 页

在上一示例中,也可以将 Step 值 0 指定给分隔线以及 CancelPrevNextDone 按钮,以便在所有页面上显示这些元素。也可以将这些元素指定给单个选项卡页面(例如,第 1 页)。

以下程序代码说明了如何增大或减小 NextPrev 按钮的事件处理程序中的 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 变量。然后,该对话框的外观将会发生如下变化:

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