Primeri programiranja za kontrolnike v urejevalniku pogovornih oken

Sledeči primeri so za novo pogovorno okno, imenovano »Pogovorno okno 1«. V urejevalniku pogovornih oken uporabite orodja v vrstici Kontrolniki, s katerimi lahko ustvarite pogovorno okno in dodate naslednje kontrolnike: potrdilno polje z imenom »Potrdilno polje 1«, a polje z nalepko z imenom »Napis 1«, gumb z imenom »Gumb1« in seznamsko polje z imenom »Seznamsko polje 1«.

Ikona opozorila

Pazite na velike in male črke v imenih, ko kontrolniku dodelite predmetno spremenljivko.


Globalna funkcija za nalaganje pogovornih oken


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

Funkcija LoadDialog je shranjena v Tools.ModuleControls, ki je na voljo v knjižnici Makri in pogov. okna LibreOffice.

Prikaz pogovornega okna


REM globalna definicija spremenljivk
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

Pregledovanje in urejanje lastnosti kontrolnikov v programu


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM najdi model pogovornega okna
    oDialog1Model = oDialog1.Model
    REM prikaži besedilo za Napis1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM določi novo besedilo za kontrolnik Napis1
    oNapis1.Text = "Nove datoteke"
    REM prikaži lastnosti kontrolnika CheckBox1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM določi novo stanje za kontrolnik CheckBox1 za model kontrolnika
    oCheckBox1Model.State = 1
    REM prikaži modelne lastnosti kontrolnika CommandButton1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM prikaži lastnosti kontrolnika CommandButton1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM izvedi pogovorno okno
    oDialog1.Execute()
End Sub

Dodaj vnos na seznamsko polje


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM doda nov vnos v polje ListBox
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oSezPolje.additem("Nov vnos" & iStevec,0)
End Sub

Odstrani vnos iz seznamskega polja


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM odstrani prvi vnos iz kontrolnika ListBox
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Podprite nas!