Isi
Indeks 🔎︎

# Contoh Pemrograman untuk Kontrol di Editor Dialog

Contoh-contoh berikut ditujukan bagi sebuah dialog yang diberi nama "Dialog1". Gunakanlah perkakas pada bilah Kotak Alat pada penyunting dialog untuk membuat dialog dan menambahkan kontrol-kontrol berikut: sebuah Kotak Centang bernama "CheckBox1", sebuah Bidang Label bernama "Label1", sebuah Tombol bernama "CommandButton1", dan sebuah Kotak Daftar bernama "ListBox1".

Konsistenlah dengan penggunaan huruf besar dan kecil saat Anda melampirkan kontrol di variabel objek.

### Fungsi Global untuk Memuat Dialog

    Function LoadDialog(Libname as String, DialogName as String, Optional oLibContainer)
    Dim oLib as Object ' com.sun.star.script.XLibraryContainer
    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

Fungsi LoadDialog tersimpan di Tools.ModuleControls tersedia dari Makro dan Dialog LibreOffice.

### Menampilkan Dialog

    REM definisi global dari variabel
    Dim oDialog1 AS Object
    Sub StartDialog1
        With GlobalScope.BasicLibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.ModuleControls.LoadDialog("Standard", "Dialog1")
        oDialog1.Execute()
    End Sub

### Baca atau Edit Properti Kontrol dalam Program

    Sub Sample1
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
        REM mengambil model dialog
        oDialog1Model = oDialog1.Model
        REM menampilkan teks dari Label1
        oLabel1 = oDialog1.GetControl("Label1")
        MsgBox oLabel1.Text
        REM mengeset teks baru untuk kontrol Label1
        oLabel1.Text = "Berkas Baru"
        REM menampilkan model properti untuk kontrol CheckBox1
        oCheckBox1Model = oDialog1Model.CheckBox1
        MsgBox oCheckBox1Model.Dbg_Properties
        REM mengeset tingkat baru untuk CheckBox1 dari model kontrol
        oCheckBox1Model.State = 1
        REM menampilkan properti model untuk kontrol CommandButton1
        oCMD1Model = oDialog1Model.CommandButton1
        MsgBox oCMD1Model.Dbg_Properties
        REM menampilkan properti untuk kontrol CommandButton1
        oCMD1 = oDialog1.GetControl("CommandButton1")
        MsgBox oCMD1.Dbg_Properties
        REM mengeksekusi dialog
        oDialog1.Execute()
    End Sub

### Tambah entri di KotakDaftar

    Sub AddEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
        REM menambah entri baru pada ListBox
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        Dim iCount as integer
        iCount = oListbox.ItemCount
        oListbox.additem("Item Baru" & iCount,0)
    End Sub

### Buang Entri dari KotakDaftar

    Sub RemoveEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
        REM membuang entri pertama dari ListBox
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        oListbox.removeitems(0,1)
    End Sub

Topik Terkait

Mengubah Properti Kontrol dalam Editor Dialog

Membuat Dialog Basic

Membuat Kontrol dalam Editor Dialog

Tampikan Dialog Menggunakan Basic