Esempi di programmazione per i campi di controllo nell'editor delle finestre di dialogo

Gli esempi seguenti si riferiscono a una nuova finestra di dialogo di nome "Dialogo1". Nell'editor delle finestre di dialogo, usate gli strumenti della Casella degli strumenti per creare la finestra di dialogo e aggiungere i campi di controllo seguenti: una casella di controllo di nome "CasellaControllo1", untesto fisso di nome "Etichetta1", un pulsante di nome "PulsanteComando1" e una casella di riepilogo di nome "CasellaRiepilogo1".

Icona di avvertenza

Quando abbinate un campo di controllo a una variabile oggetto, usate le maiuscole e le minuscole in modo uniforme.


Funzioni globali per caricare le finestre di dialogo


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 funzione LoadDialog è memorizzata in Tools.ModuleControls, disponibile nelle finestre di dialogo e nelle macro dell'applicazione.

Visualizzare una finestra di dialogo


REM definizione globale delle variabili
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

Leggere o modificare le proprietĂ  dei campi di controllo nel programma


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM richiama il modello della finestra di dialogo
    oDialog1Model = oDialog1.Model
    REM visualizza il testo di Etichetta1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM imposta il nuovo testo per il campo di controllo Etichetta1
    oLabel1.Text = "Nuovi file"
    REM visualizza le proprietĂ  del modello per il campo di controllo CasellaControllo1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM imposta il nuovo stato di CasellaControllo1 per il modello del campo di controllo
    oCheckBox1Model.State = 1
    REM visualizza le proprietĂ  del modello per il campo di controllo PulsanteComando1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM visualizza le proprietĂ  del campo di controllo PulsanteComando1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM esegue la finestra di dialogo
    oDialog1.Execute()
End Sub

Aggiungere una voce a una casella di riepilogo


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM aggiunge una nuova voce alla casella di riepilogo
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("Nuova voce" & iConteggio,0)
End Sub

Rimuovere una voce da una casella di riepilogo


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM rimuove la prima voce dalla casella di riepilogo
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Sosteneteci!