Programming Examples for Controls in the Dialog Editor

Nasledujúci príklad je pre nové dialógové okno pomenované "Dialog1". Použitím nástrojov z Panelu nástrojov v editore dialógových okien vytvorte dialógové okno a pridajte nasledujúce ovládacie prvky: Zaškrtávacie políčko nazvané "CheckBox1", Popisné pole nazvané "Label1",Tlačidlo nazvané "CommandButton1", a Posuvný zoznam nazvaný "ListBox1".

Warning Icon

Uistite sa že použijete rovnaké veľké a malé písmená pri priraďovaní ovládacieho prvku k premennej objektu.


Globálna funkcia pre načítavanie dialógov


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 function is stored in Tools.ModuleControls available from LibreOffice Macros and Dialogs.

Zobrazenie dialógu


REM globálna definícia premenných
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

Čítanie alebo úprava vlastností ovládacích prvkov v programe


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM získanie dialógu model
    oDialog1Model = oDialog1.Model
    REM zobrazenie textu Label1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM nastavenie nového textu pre ovládací prvok Label1
    oLabel1.Text = "Nové súbory"
    REM zobrazenie vlastností modelu pre ovládací prvok CheckBox1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM nastavenie nového stavu pre CheckBox1 pre model ovládacieho prvku
    oCheckBox1Model.State = 1
    REM zobrazenie vlastností modelu pre ovládací prvok CommandButton1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM zobrazenie vlastností pre ovládací prvok CommandButton1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM spustenie dialógu
    oDialog1.Execute()
End Sub

Pridanie položky do poľa zoznamu


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM pridanie novej položky do poľa zoznamu
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("Nová položka" & iCount,0)
End Sub

Odstránenie položky z poľa zoznamu


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM odstránenie prvej položky z poľa zoznamu
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Please support us!