Exemples de programació dels controls de l'editor de diàlegs

Els exemples següents fan referència a un diàleg nou anomenat "Dialog1". Utilitzeu les eines que hi ha en el Quadre d'eines de l'editor de diàlegs per crear el diàleg i afegiu els controls següents: una Casella de selecció anomenada "Casella de selecció 1", un Camp d'etiqueta anomenat "Etiqueta 1", un Botó anomenat "Botó d'ordes 1" i un quadre de llista anomenat "Quadre de llista 1".

Icona d'avís

Feu un ús coherent de les majúscules i minúscules quan afegiu un control a una variable d'objecte.


Funció global per carregar diàlegs


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.

Visualització d'un diàleg


REM definició global de les variables
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

Lectura o edició de les propietats dels controls en el programa


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM obtén el model de diàleg
    oDialog1Model = oDialog1.Model
    REM mostra el text de l'etiqueta 1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM estableix el text nou de l'etiqueta 1 del control
    oLabel1.Text = "New Files"
    REM mostra les propietats del model per a la casella de selecció 1 del control
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM estableix l'estat nou de la casella de selecció 1 per al model de control
    oCheckBox1Model.State = 1
    REM mostra les propietats del model per al botó d'ordes 1 del control
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM mostra les propietats del botó d'ordes de control 1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM executa el diàleg
    oDialog1.Execute()
End Sub

Addició d'una entrada a un quadre de llista


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM afig una nova entrada al quadre de llista
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("New Item" & iCount,0)
End Sub

Supressió d'una entrada d'un quadre de llista


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM suprimeix la primera entrada del quadre de llista
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Ens cal la vostra ajuda!