Programmeringseksempel for kontroller i redigering av dialogvinduer..
De følgende eksemplene beskriver et nytt dialogvindu kalt «Dialog1». Bruk kontrollelementene på verktøylinjen Verktøykasse i dialogredigeringen for å lage dialogvinduet og legge til følgende kontrollelementer: en Avkryssingsboks kalt «CheckBox1», et Etikettfelt kalt «Label1», en Knapp kalt «CommandButton1» og en Listeboks kalt «ListBox1».
Vær konsekvent med små/store bokstaver når du kobler et kontrollelement til en objekt-variabel.
Overordnet funksjon for å laste dialogvinduer
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
Last Dialog funksjonen er lagret i Verktøy-Modulkontroller som er tilgjelig fraLibreOffice Makroser og Dialoger.
Visning av et dialogvindu
REM global definisjon av variabler
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
Se på, eller rediger egenskapene til kontrollelementene i et program
Sub Sample1
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
REM hent dialogmodell
oDialog1Model = oDialog1.Model
REM vis tekst for Etikett1
oLabel1 = oDialog1.GetControl("Label1")
MsgBox oLabel1.Text
REM sett ny tekst for Kontrolletikett1
oLabel1.Text = "Nye Filer"
REM vis modellegenskapene for Avkryssingsboks1
oCheckBox1Model = oDialog1Model.CheckBox1
MsgBox oCheckBox1Model.Dbg_Properties
REM sett ny tilstand for Avkryssingsboks1 for kontrollmodell
oCheckBox1Model.State = 1
REM vis modellegenskapene for Kommandoknapp1
oCMD1Model = oDialog1Model.CommandButton1
MsgBox oCMD1Model.Dbg_Properties
REM vis modellegenskapne for Kommandoknapp1
oCMD1 = oDialog1.GetControl("CommandButton1")
MsgBox oCMD1.Dbg_Properties
REM kjør dialogvinduet
oDialog1.Execute()
End Sub
Legg til en oppføring i en listeboks
Sub AddEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
REM legg til et nytt element i listeboksen
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
Dim iCount as integer
iCount = oListbox.ItemCount
oListbox.additem("Nytt element" & iCount,0)
End Sub
Fjern en oppføring fra en listeboks
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 elementet i ein Listeboks
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
oListbox.removeitems(0,1)
End Sub