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 Cek bernama "CheckBox1", sebuah Bidang Label bernama "Label1", sebuah Tombol bernama "CommandButton1", dan sebuah Kotak Daftar bernama "ListBox1".

Ikon Peringatan

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

Mohon dukung kami!