对话框编辑器中控件的编程示例

From LibreOffice Help
Jump to: navigation, search

以下示例针对的是一个名为 "Dialog1" 的新对话框。使用对话框编辑器中的工具箱栏上的工具可以创建对话框并添加下列控件:名为 "CheckBox1" 的复选框、名为 "Label1" 的标签字段、名为 "CommandButton1" 的按钮以及名为 "ListBox1" 的列表框

Warning.png 在将控件附加到对象变量时,请使字母大小写保持一致。

加载对话框的全局函数

Function LoadDialog(Libname as String, DialogName as String, Optional oLibContainer)
Dim oLib as Object
Dim oLibDialog as Object
Dim oRuntimeDialog as Object
    If IsMissing(oLibContainer) Then
        oLibContainer = DialogLibraries
    End If
    oLibContainer.LoadLibrary(LibName)
    oLib = oLibContainer.GetByName(Libname)
    oLibDialog = oLib.GetByName(DialogName)
    oRuntimeDialog = CreateUnoDialog(oLibDialog)
    LoadDialog() = oRuntimeDialog
End Function

显示对话框

REM 全局变量定义
Dim oDialog1 AS Object
Sub StartDialog1
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")
    oDialog1.Execute()
End Sub

读取或编辑程序中控件的属性

Sub Sample1
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")
REM 获取对话框模型
    oDialog1Model = oDialog1.Model
REM 显示 Label1 的文字
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
REM 设置控件 Label1 的新文字
oLabel1.Text = "New Files"
REM 显示控件 CheckBox1 的模型属性
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
REM 为 CheckBox1 的控件模型设置新状态
    oCheckBox1Model.State = 1
REM 显示控件 CommandButton1 的模型属性
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
REM 显示控制 CommandButton1 的属性
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
REM 执行对话框
    oDialog1.Execute()
End Sub

向列表框中添加条目

Sub AddEntry
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")
REM 向 ListBox 中添加新条目
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
oListbox.additem("New Item" & iCount,0)
End Sub

删除 ListBox 中的条目

Sub RemoveEntry
    BasicLibraries.LoadLibrary("Tools")
    oDialog1 = LoadDialog("Standard", "Dialog1")
REM 删除 ListBox 中的第一个条目
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Related Topics

修改对话框编辑器中控件的属性

创建 Basic 对话框

在对话框编辑器中创建控件

通过程序代码打开对话框