Příklady programů pro ovládací prvky v Editoru dialogových oken
Následující příklady jsou pro nové dialogové okno nazvané "Dialog1". Vytvořte dialogové okno pomocí nástrojů z lišty Nástroje v editoru dialogových oken a přidejte následující ovládací prvky: zaškrtávací pole nazvané "CheckBox1", pole popisku nazvané "Label1", tlačítko nazvané "CommandButton1" a seznam nazvaný "ListBox1".
Při propojení ovládacího prvku k proměnné objektu použijte jednotnou velikost písma (velká nebo malá písmena).
Globální funkce pro načítání dialogových 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
LoadDialog function is stored in Tools.ModuleControls available from LibreOffice Macros and Dialogs.
Zobrazení dialogového okna
REM globální definice proměnný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
Čtení nebo úpravy vlastností ovládacích prvků v programu
Sub Sample1
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
REM získat model dialogového okna
oDialog1Model = oDialog1.Model
REM zobrazit text Label1
oLabel1 = oDialog1.GetControl("Label1")
MsgBox oLabel1.Text
REM nastavit nový text pro ovládací prvek Label1
oLabel1.Text = "Nové soubory"
REM zobrazit vlastnosti ovládacího prvku CheckBox1
oCheckBox1Model = oDialog1Model.CheckBox1
MsgBox oCheckBox1Model.Dbg_Properties
REM nastavit nový stav pro model ovládacího prvku CheckBox1
oCheckBox1Model.State = 1
REM zobrazit vlastnosti ovládacího prvku CommandButton1
oCMD1Model = oDialog1Model.CommandButton1
MsgBox oCMD1Model.Dbg_Properties
REM zobrazit vlastnosti ovládacího prvku CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
MsgBox oCMD1.Dbg_Properties
REM spustit dialogové okno
oDialog1.Execute()
End Sub
Přidání položky do seznamu
Sub AddEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
REM přidat nový záznam do ListBoxu
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
Dim iCount as integer
iCount = oListbox.ItemCount
oListbox.additem("New Item" & iCount,0)
End Sub
Odebrání položky ze seznamu
Sub RemoveEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
REM odstranit první položku z ListBoxu
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
oListbox.removeitems(0,1)
End Sub