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».

Icona Aviso

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

LoadDialog function is stored in Tools.ModuleControls available from Application Macros and Dialogs.

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

Precisamos da súa axuda!