Module
Contents
Index 🔎︎

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

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

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

### 加载对话框的全局函数

    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

相关主题

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

创建 Basic 对话框

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

通过程序代码打开对话框