Difference between revisions of "ZH/Documentation/BASIC Guide/Working With Dialogs"
(4 intermediate revisions by one other user not shown) | |||
Line 14: | Line 14: | ||
可以使用 {{OOo}} 对话框编辑器创建和构造对话框: | 可以使用 {{OOo}} 对话框编辑器创建和构造对话框: | ||
− | [[Image: | + | [[Image:ZH-Documentation basicguide dlg 01 trans.gif|none|thumb|500px|在对话框编辑器中创建和构造对话框]] |
可以将控制元素从设计面板(右侧)拖到对话框区域中,并定义其位置和大小。 | 可以将控制元素从设计面板(右侧)拖到对话框区域中,并定义其位置和大小。 | ||
Line 20: | Line 20: | ||
下面的示例显示了一个包含标签和列表框的对话框。 | 下面的示例显示了一个包含标签和列表框的对话框。 | ||
− | [[Image: | + | [[Image:ZH-Documentation basicguide dlg 04-trans.gif|none|thumb|500px|包含标签和列表框的对话框]] |
可以使用以下代码打开对话框: | 可以使用以下代码打开对话框: | ||
Line 85: | Line 85: | ||
该代码首先确定 <tt>MyButton</tt> 控制元素的对象,然后使用对该元素的引用初始化 <tt>Ctl</tt> 对象变量。最后,该代码将控制元素的 <tt>Label</tt> 属性设置为 <tt>New Label</tt> 值。 | 该代码首先确定 <tt>MyButton</tt> 控制元素的对象,然后使用对该元素的引用初始化 <tt>Ctl</tt> 对象变量。最后,该代码将控制元素的 <tt>Label</tt> 属性设置为 <tt>New Label</tt> 值。 | ||
− | {{ | + | {{Note|与 {{OOo}} Basic 标识符不同,控制元素名称区分大小写。}} |
== 使用对话框和控制元素的模型 == | == 使用对话框和控制元素的模型 == | ||
Line 105: | Line 105: | ||
{{PDL1}} | {{PDL1}} | ||
− | + | ||
+ | |||
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Working With Dialogs}} | {{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Working With Dialogs}} |
Latest revision as of 14:36, 6 July 2018
Apache OpenOffice Basic 对话框由一个对话框窗口组成,其中可以包含文本字段、列表框、单选按钮以及其他控制元素。
创建对话框
可以使用 Apache OpenOffice 对话框编辑器创建和构造对话框:
可以将控制元素从设计面板(右侧)拖到对话框区域中,并定义其位置和大小。
下面的示例显示了一个包含标签和列表框的对话框。
可以使用以下代码打开对话框:
Dim Dlg As Object
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.DlgDef)
Dlg.Execute()
Dlg.dispose()
CreateUnoDialog 创建了一个名为 Dlg 的对象,该对象引用关联的对话框。在创建对话框之前,必须确保已加载对话框使用的库(本示例中为 Standard 库)。LoadLibrary 方法可以执行此任务。
在初始化 Dlg 对话框对象后,可以使用 Execute 方法显示该对话框。此类对话框称为模态对话框,因为只有在关闭对话框后才能对其执行其他编程操作。在打开此类对话框时,程序会处于 Execute 调用状态。
在程序结束后,最后一行代码中的 dispose 方法将会批准对话框使用的资源。
关闭对话框
使用“确定”或“取消”进行关闭
如果对话框包含确定或取消按钮,在单击其中一个按钮时,将会自动关闭对话框。有关使用这些按钮的详细信息,请参见对话框控制元素详述。
如果通过单击确定按钮关闭对话框,Execute- 方法将返回值 1,否则返回值 0。
Dim Dlg As Object
DialogLibraries.LoadLibrary("Standard")
Dlg = CreateUnoDialog(DialogLibraries.Standard.MyDialog)
Select Case Dlg.Execute()
Case 1
MsgBox "Ok pressed"
Case 0
MsgBox "Cancel pressed"
End Select
使用标题栏中的“关闭”按钮进行关闭
可通过单击对话框窗口标题栏上的“关闭”按钮来关闭对话框。对话框的 Execute 方法将返回值 0,这与单击“取消”时返回的值相同。
使用显式程序调用进行关闭
还可以使用 endExecute 方法关闭打开的对话框窗口:
Dlg.endExecute()
访问单个控制元素
对话框可以包含任意数目的控制元素。可通过返回控制元素名称的 getControl 方法访问这些元素。
Dim Ctl As Object
Ctl = Dlg.getControl("MyButton")
Ctl.Label = "New Label"
该代码首先确定 MyButton 控制元素的对象,然后使用对该元素的引用初始化 Ctl 对象变量。最后,该代码将控制元素的 Label 属性设置为 New Label 值。
使用对话框和控制元素的模型
Apache OpenOffice API 中的很多地方都区分可见程序元素(视图)及其背后的数据或文档(模型)。除了控制元素的方法和属性之外,对话框和控制元素对象还具有一个下级 Model 对象。此对象用于直接访问对话框或控制元素的内容。
与其他 Apache OpenOffice API 区域不同,在对话框中,没有始终对数据和描绘进行明确的区分。可以同时通过“视图”和“模型”来提供 API 元素。
可通过 Model 属性以程序控制方式访问对话框和控制元素对象的模型。
Dim cmdNext As Object
cmdNext = Dlg.getControl("cmdNext")
cmdNext.Model.Enabled = False
本示例借助 cmdNtext 中的模型对象停用了 Dlg 对话框中的 cmdNtext 按钮。
Content on this page is licensed under the Public Documentation License (PDL). |