LibreOffice 7.2 Help
Poniższe przykłady dotyczą nowego okna dialogowego o nazwie "Dialog1". Użyj narzędzi znajdujących się na pasku Przybornik w oknie dialogowym, aby utworzyć okno dialogowe i dodać poniższe formanty: pole wyboru o nazwie "CheckBox1", pole etykiety o nazwie "Label1", przycisk o nazwie "CommandButton1" i pole listy o nazwie "ListBox1".
Przy dołączaniu formantu do zmiennej obiektu należy zachować konsekwencję w stosowaniu małych i wielkich liter.
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.
REM globalna definicja zmiennych
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
Sub Sample1
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
REM pobranie modelu okna dialogowego
oDialog1Model = oDialog1.Model
REM wyświetlenie tekstu Label1
oLabel1 = oDialog1.GetControl("Label1")
MsgBox oLabel1.Text
REM ustawienie nowego tekstu dla formantu Label1
oLabel1.Text = "Nowe pliki"
REM wyświetlenie właściwości modelu dla formantu CheckBox1
oCheckBox1Model = oDialog1Model.CheckBox1
MsgBox oCheckBox1Model.Dbg_Properties
REM ustawienie nowego stanu dla CheckBox1 dla modelu formantu
oCheckBox1Model.State = 1
REM wyświetlenie właściwości modelu dla formantu CommandButton1
oCMD1Model = oDialog1Model.CommandButton1
MsgBox oCMD1Model.Dbg_Properties
REM wyświetlenie właściwości formantu CommandButton1
oCMD1 = oDialog1.GetControl("CommandButton1")
MsgBox oCMD1.Dbg_Properties
REM uruchomienie okna dialogowego
oDialog1.Execute()
End Sub
Sub AddEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
REM dodanie nowego wpisu do pola listy
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
Dim iCount as integer
iCount = oListbox.ItemCount
oListbox.additem("New Item" & iCount,0)
End Sub
Sub RemoveEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
REM usunięcie pierwszego wpisu z pola listy
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
oListbox.removeitems(0,1)
End Sub