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

### 將條目加入 ListBox 中

    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 對話方塊

在對話方塊編輯器中建立控制項

使用程式碼顯示對話方塊