Inhalte
Index 🔎︎

# Programmbeispiele für Steuerelemente im Dialog-Editor

Um diese Beispiele ausprobieren zu können, brauchen Sie einen neuen Dialog mit dem Namen "Dialog1" anlegen. Im Dialog-Editor legen Sie mithilfe der Schaltflächen in der Werkzeugleiste folgende Steuerelemente an: ein Markierfeld mit dem Namen "Markierfeld1", ein Beschriftungsfeld mit dem Namen "Beschriftung1", eine Schaltfläche mit dem Namen "Schaltfläche1" und ein Listenfeld mit dem Namen "Listenfeld1".

Beim Zuweisen des Steuerelements an eine Objektvariable ist die Schreibweise wichtig. Wenn der Name des Steuerelements kleingeschrieben wurde, muss dieser auch mit derselben Schreibweise abgefragt werden.

### Globale Funktion zum Laden von Dialogen

    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

Die Funktion LoadDialog ist in der Bibliothek Tools.ModuleControls gespeichert, welche im Dialog LibreOffice Makros verfügbar ist.

### Dialog anzeigen

    REM globale Variablendefiniton
    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

### Eigenschaften von Steuerelementen im Programm abfragen oder ändern

    Sub Sample1
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
        REM Model des Dialogs holen
        oDialog1Model = oDialog1.Model
        REM Beschriftung des Textes von Beschriftung1 anzeigen
        oLabel1 = oDialog1.GetControl("Label1")
        MsgBox oLabel1.Text
        REM Neuen Text für das Steuerelement Beschriftung1 setzen
        oLabel1.Text = "Neue Dateien"
        REM Anzeigen der Model-Eigenschaften des Steuerelements Markierfeld1
        oCheckBox1Model = oDialog1Model.CheckBox1
        MsgBox oCheckBox1Model.Dbg_Properties
        REM Neuen State für Markierfeld1 am Model des Steuerelements setzen
        oCheckBox1Model.State = 1
        REM Anzeigen der Model-Eigenschaften für das Steuerelement Schaltfläche1
        oCMD1Model = oDialog1Model.CommandButton1
        MsgBox oCMD1Model.Dbg_Properties
        REM Anzeigen der Eigenschaften des Steuerelements Schaltfläche1
        oCMD1 = oDialog1.GetControl("CommandButton1")
        MsgBox oCMD1.Dbg_Properties
        REM Dialog ausführen
        oDialog1.Execute()
    End Sub

### Eintrag in ein Listenfeld hinzufügen

    Sub AddEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
        REM setzt einen neuen Eintrag in das Listenfeld
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        Dim iCount as integer
        iCount = oListbox.ItemCount
        oListbox.additem("New Item" & iCount,0)
    End Sub

### Eintrag in eines Listenfeldes löschen

    Sub RemoveEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
        REM löscht den ersten Eintrag aus dem Listenfeld
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        oListbox.removeitems(0,1)
    End Sub

Verwandte Themen

Eigenschaften für Steuerelemente im Dialog-Editor

Erstellen eines Basic-Dialogs

Erstellen von Steuerelementen im Dialog-Editor

Öffnen eines Dialogs mit Basic