Contenido
Índice 🔎︎

# Ejemplos de programación de controles en el Editor de diálogos

Los siguientes ejemplos se aplican a un nuevo diálogo llamado "Dialog1". Utilice las herramientas de la barra Cuadro de herramientas del editor de diálogos para crear el diálogo y agregar los controles siguientes: una casilla de verificación denominada "Casillaverificación1", un campo de etiqueta denominado "Etiqueta1", un botón denominado "Botóncomando1" y un cuadro de lista denominado "Cuadrolista1".

Haga un uso coherente de las mayúsculas y las minúsculas cuando adjunte un control a una variable de objeto.

### Función global para cargar diálogos

    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.

### Mostrar un diálogo

    REM definición global de 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ón de las propiedades de los controles en el programa

    Sub Sample1
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
        REM obtener modelo de diálogo
        oDialog1Model = oDialog1.Model
        REM mostrar texto de Label1
        oLabel1 = oDialog1.GetControl("Label1")
        MsgBox oLabel1.Text
        REM establecer texto nuevo para el control Label1
        oLabel1.Text = "Archivos nuevos"
        REM mostrar propiedades de modelo para el control CheckBox1
        oCheckBox1Model = oDialog1Model.CheckBox1
        MsgBox oCheckBox1Model.Dbg_Properties
        REM establecer estado nuevo para CheckBox1 para el modelo del control
        oCheckBox1Model.State = 1
        REM mostrar propiedades de modelo para el control CommandButton1
        oCMD1Model = oDialog1Model.CommandButton1
        MsgBox oCMD1Model.Dbg_Properties
        REM mostrar propiedades del control CommandButton1
        oCMD1 = oDialog1.GetControl("CommandButton1")
        MsgBox oCMD1.Dbg_Properties
        REM ejecutar diálogo
        oDialog1.Execute()
    End Sub

### Añadir una entrada a un cuadro de lista

    Sub AddEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
        REM añade una entrada nueva al cuadro de lista
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        Dim iCount as integer
        iCount = oListbox.ItemCount
        oListbox.additem("Nuevo elemento" & iCount,0)
    End Sub

### Eliminar una entrada de un cuadro de lista

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

Temas relacionados

Cambiar las propiedades de los controles del Editor de diálogos

Crear un diálogo de Basic

Creación de controles en el Editor de diálogos

Opening a Dialog With Basic