Indhold
Indholdsfortegnelse 🔎︎

# 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".

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

Funktionen LoadDialog (Indlæs_dialog) er lagret i Tools.ModuleControls (Funktionwer.Modul_kontroller) og er tilgængelig fra 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

Relaterede emner

Ændring af egenskaberne på kontrolelementer i dialogeditoren

Oprettelse af en Basic-dialog

Oprettelse af kontrolelementer i dialogeditoren

Åbne en dialog med Basic