Contenuto
Indice 🔎︎

# 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".

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 Macro e nelle finestre di dialogo di LibreOffice.

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

Argomenti correlati

Cambiare le proprietà di un campo di controllo nell'editor delle finestre di dialogo

Creare una finestra di dialogo Basic

Creare un campo di controllo nell'editor delle finestre di dialogo

Aprire una finestra di dialogo con Basic