Contido

# Exemplos de programación dos controles no Editor de caixas de diálogo

Os seguintes exemplos guíano na creación dunha caixa de diálogo chamada «Dialog1». Utilice as ferramentas situadas na Caixa de ferramentas no editor de caixas de diálogo para crear a caixa de diálogo e engadir os seguintes controis: unha Caixa de verificación chamada «CaixaVerificación1», un Campo de etiqueta chamado «CampoEtiqueta1», un Botón chamado «Botón1», e unha Caixa de lista chamada «CaixaLista1».

Ao anexar un control a unha variábel de obxecto, sexa coherente no uso de letras maiúsculas e minúsculas.

### Función global para cargar caixas de diálogo

    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

A función LoadDialog cárgase en Tools.ModuleControls, dispoñíbel nas macros e caixas de diálogos da aplicación.

### Visualización de caixas de diálogo

    rem definición global de variábeis
    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 ou edición de propiedades de controis no programa

    Sub Sample1
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
        REM obter modelo da caixa de diálogo
        oDialog1Model = oDialog1.Model
        REM mostrar texto de Etiqueta1
        oLabel1 = oDialog1.GetControl("Label1")
        MsgBox oLabel1.Text
        REM definir novo texto para o control Etiqueta1
        oLabel1.Text = "Novos ficheiros"
        REM mostrar propiedades de modelo para o control CaixaVerificación1
        oCheckBox1Model = oDialog1Model.CheckBox1
        MsgBox oCheckBox1Model.Dbg_Properties
        REM definir novo estado de CaixaVerificación1 para modelo de control
        oCheckBox1Model.State = 1
        REM mostrar propiedades de modelo para o control Botón1
        oCMD1Model = oDialog1Model.CommandButton1
        MsgBox oCMD1Model.Dbg_Properties
        REM mostrar propiedades do control Botón1
        oCMD1 = oDialog1.GetControl("CommandButton1")
        MsgBox oCMD1.Dbg_Properties
        REM executar caixa de diálogo
        oDialog1.Execute()
    End Sub

### Engadir entradas en caixas de lista (ListBox)

    Sub AddEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
        REM engade unha nova entrada ao control CaixaLista
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        Dim iCount as integer
        iCount = oListbox.ItemCount
        oListbox.additem("Novo elemento" & iCount,0)
    End Sub

### Eliminar entradas de caixas de lista (ListBox)

    Sub RemoveEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
        REM eliminar a primeira entrada do control CaixaListaxe
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        oListbox.removeitems(0,1)
    End Sub

Temas relacionados

Modificación das propiedades dos controis no editor de caixas de diálogo

Creación de caixas de diálogo en BASIC

Creación de controis no Editor de caixas de diálogo

Abrir un cadro de diálogo con BASIC