LibreOffice 24.8:n ohje
Seuraavat esimerkit koskevat uutta, "Dialog1"-nimistä valintaikkunaa. Muokkaimen Työkalulaatikko-palkin työkaluja käytetään valintaikkunan luomiseen. Lisätään seuraavat ohjausobjektit oletusnimin: valintaruutu nimellä "CheckBox1", selitekenttä nimellä "Label1", painike nimellä "CommandButton1" ja luetteloruutu nimellä "ListBox1".
Objektimuuttujien, kuten ohjausobjektien, nimissä SUUR- ja pienaakkoset ovat merkitseviä!
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 Application Macros and Dialogs.
REM muuttujien globaali määrittely
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 haetaan valintaikkunamalli
oDialog1Model = oDialog1.Model
REM näytetään Label1-teksti
oLabel1 = oDialog1.GetControl("Label1")
MsgBox oLabel1.Text
REM ohjausobjekti Label1 saa uuden tekstin
oLabel1.Text = "Uudet tiedostot"
REM näytetään CheckBox1-ohjausobjektin malliominaisuudet
oCheckBox1Model = oDialog1Model.CheckBox1
MsgBox oCheckBox1Model.Dbg_Properties
REM asetetaan uusi tila CheckBox1-ohjausobjektille malliin
oCheckBox1Model.State = 1
REM näytetään CommandButton1-ohjausobjektin malliominaisuudet
oCMD1Model = oDialog1Model.CommandButton1
MsgBox oCMD1Model.Dbg_Properties
REM näytetään CommandButton1-ohjausobjektin ominaisuudet
oCMD1 = oDialog1.GetControl("CommandButton1")
MsgBox oCMD1.Dbg_Properties
REM suoritetaan valintaikkuna
oDialog1.Execute()
End Sub
Sub AddEntry
With GlobalScope.Basiclibraries
If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
End With
oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
REM lisätään rivi luetteloruutuun
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 poistetaan rivi luetteloruudusta
oDialog1Model = oDialog1.Model
oListBox = oDialog1.GetControl("ListBox1")
oListbox.removeitems(0,1)
End Sub