Difference between revisions of "ZH/Documentation/BASIC Guide/Working With Dialogs"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{ZH/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Dialogs |NextPage=Documentation/BASIC Guide/Properties |dial=block }} {{DISP...)
 
 
(7 intermediate revisions by one other user not shown)
Line 2: Line 2:
 
|ShowPrevNext=block
 
|ShowPrevNext=block
 
|ShowPrevPage=block
 
|ShowPrevPage=block
|PrevPage=Documentation/BASIC Guide/Dialogs
+
|PrevPage=ZH/Documentation/BASIC Guide/Dialogs
|NextPage=Documentation/BASIC Guide/Properties
+
|NextPage=ZH/Documentation/BASIC Guide/Properties
 
|dial=block
 
|dial=block
 
}}
 
}}
Line 14: Line 14:
 
可以使用 {{OOo}} 对话框编辑器创建和构造对话框:
 
可以使用 {{OOo}} 对话框编辑器创建和构造对话框:
  
[[Image:documentation_basicguide_dlg_01.gif|none|thumb|500px|在对话框编辑器中创建和构造对话框]]
+
[[Image:ZH-Documentation basicguide dlg 01 trans.gif|none|thumb|500px|在对话框编辑器中创建和构造对话框]]
  
 
可以将控制元素从设计面板(右侧)拖到对话框区域中,并定义其位置和大小。
 
可以将控制元素从设计面板(右侧)拖到对话框区域中,并定义其位置和大小。
Line 20: Line 20:
 
下面的示例显示了一个包含标签和列表框的对话框。
 
下面的示例显示了一个包含标签和列表框的对话框。
  
[[Image:documentation_basicguide_dlg_04.gif|none|thumb|500px|包含标签和列表框的对话框]]
+
[[Image:ZH-Documentation basicguide dlg 04-trans.gif|none|thumb|500px|包含标签和列表框的对话框]]
  
 
可以使用以下代码打开对话框:
 
可以使用以下代码打开对话框:
Line 43: Line 43:
 
=== 使用“确定”或“取消”进行关闭 ===
 
=== 使用“确定”或“取消”进行关闭 ===
  
如果对话框包含'''确定'''或'''取消'''按钮,在单击其中一个按钮时,将会自动关闭对话框。有关使用这些按钮的详细信息,请参见[[Documentation/BASIC Guide/Control Elements|对话框控制元素详述]]。
+
如果对话框包含'''确定'''或'''取消'''按钮,在单击其中一个按钮时,将会自动关闭对话框。有关使用这些按钮的详细信息,请参见[[ZH/Documentation/BASIC Guide/Control Elements|对话框控制元素详述]]。
  
 
如果通过单击'''确定'''按钮关闭对话框,<tt>Execute-</tt> 方法将返回值 1,否则返回值 0。
 
如果通过单击'''确定'''按钮关闭对话框,<tt>Execute-</tt> 方法将返回值 1,否则返回值 0。
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> 值。
  
{{Documentation/Note|与 {{OOo}} Basic 标识符不同,控制元素名称区分大小写。}}
+
{{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

doc OOo
Book.png


Apache OpenOffice Basic 对话框由一个对话框窗口组成,其中可以包含文本字段、列表框、单选按钮以及其他控制元素。

创建对话框

可以使用 Apache OpenOffice 对话框编辑器创建和构造对话框:

File:ZH-Documentation basicguide dlg 01 trans.gif
在对话框编辑器中创建和构造对话框

可以将控制元素从设计面板(右侧)拖到对话框区域中,并定义其位置和大小。

下面的示例显示了一个包含标签和列表框的对话框。

包含标签和列表框的对话框

可以使用以下代码打开对话框:

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 值。

Documentation note.png 与 Apache OpenOffice Basic 标识符不同,控制元素名称区分大小写。

使用对话框和控制元素的模型

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).
Personal tools