Contingut
Índex 🔎︎

# 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'ordres 1" i un quadre de llista anomenat "Quadre de llista 1".

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 LibreOffice 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'ordres 1 del control
        oCMD1Model = oDialog1Model.CommandButton1
        MsgBox oCMD1Model.Dbg_Properties
        REM mostra les propietats del botó d'ordres 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 afegeix 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

Temes relacionats

Canvi de les propietats dels controls de l'editor de diàlegs

Creació d'un diàleg amb el Basic

Creació de controls amb l'editor de diàlegs

Opening a Dialog With Basic