Contingut

# 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 a 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

La funció LoadDialog s'emmagatzema a Tools.ModuleControls disponible a les macros i diàlegs d'aplicacions

### 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 = "Fitxers nous"
        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("Nou element " & 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 Basic

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

Obertura d'un diàleg amb el Basic

Ens cal la vostra ajuda!