Programming Examples for Controls in the Dialog Editor

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".

Varoitus-kuvake

Objektimuuttujien, kuten ohjausobjektien, nimissä SUUR- ja pienaakkoset ovat merkitseviä!


Globaali funktio valintaikkunoiden lataamiseen


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.

Valintaikkunan näyttäminen


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

Luetaan tai muokataan ohjausobjektin ominaisuuksia ohjelmassa


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

Lisätään rivi luetteloruutuun


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

Rivin poistaminen luetteloruudusta


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

Please support us!