Programmeringseksempler for kontrolelementer i dialogeditoren

Følgende eksempler er for en ny dialog kaldet "Dialog1". Brug værktøjerne på værktøjslinjen Værktøjskasse i dialogeditoren for at oprette dialogen, og tilføj følgende kontrolelementer: et afkrydsningsfelt kaldet "CheckBox1", et etiketfelt kaldet "Label1", en knap kaldet "CommandButton1" og en rulleliste kaldet "ListBox1".

Advarselsikon

Vær konsistent med store og små bogstaver når du hæfter et kontrolelement til en objektvariabel.


Global funktion til indlæsning af dialoger


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

LoadDialog-funktioner gemmes i Tools.ModuleControls som du finder i LibreOffice Makroer og dialoger.

Visning af en dialog


REM global definition af variable
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

Læs eller rediger egenskaber for kontrolelementer i programmet


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM hent dialogmodel
    oDialog1Model = oDialog1.Model
    REM vis tekst pĂĄ Label1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM indstil ny tekst for kontrolelementet Label1
    oLabel1.Text = "New files"
    REM vis Modelegenskaber for kontrolelementet CheckBox1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM indstil ny tilstand for CheckBox1 til model af kontrol
    oCheckBox1Model.State = 1
    REM vis modelegenskaber for kontrolelement CommandButton1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM vis egenskaber for kontrolelement CommandButton1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM udfør dialog
    oDialog1.Execute()
End Sub

Tilføjelse af et element til en ListBox


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM Tilføjer et nyt element til ListBox
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("Nyt element" & iCount,0)
End Sub

Fjernelse af et element fra en ListBox


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM fjern det første element fra ListBox
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Støt os venligst!