Spis treści
Indeks 🔎︎

# Przykłady programowania formantów w edytorze okien dialogowych

Poniższe przykłady dotyczą nowego okna dialogowego o nazwie "Dialog1". Użyj narzędzi znajdujących się na pasku Przybornik w oknie dialogowym, aby utworzyć okno dialogowe i dodać poniższe formanty: pole wyboru o nazwie "CheckBox1", pole etykiety o nazwie "Label1", przycisk o nazwie "CommandButton1" i pole listy o nazwie "ListBox1".

Przy dołączaniu formantu do zmiennej obiektu należy zachować konsekwencję w stosowaniu małych i wielkich liter.

### Funkcja globalna dotycząca ładowania okien dialogowych

    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

Funkcja LoadDialog jest przechowywana w Tools.ModuleControls w makrach i oknach dialogowych aplikacji.

### Wyświetlanie okna dialogowego

    REM globalna definicja zmiennych
    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

### Odczyt lub edycja właściwości formantów w programie

    Sub Sample1
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
        REM pobranie modelu okna dialogowego
        oDialog1Model = oDialog1.Model
        REM wyświetlenie tekstu Label1
        oLabel1 = oDialog1.GetControl("Label1")
        MsgBox oLabel1.Text
        REM ustawienie nowego tekstu dla formantu Label1
        oLabel1.Text = "Nowe pliki"
        REM wyświetlenie właściwości modelu dla formantu CheckBox1
        oCheckBox1Model = oDialog1Model.CheckBox1
        MsgBox oCheckBox1Model.Dbg_Properties
        REM ustawienie nowego stanu dla CheckBox1 dla modelu formantu
        oCheckBox1Model.State = 1
        REM wyświetlenie właściwości modelu dla formantu CommandButton1
        oCMD1Model = oDialog1Model.CommandButton1
        MsgBox oCMD1Model.Dbg_Properties
        REM wyświetlenie właściwości formantu CommandButton1
        oCMD1 = oDialog1.GetControl("CommandButton1")
        MsgBox oCMD1.Dbg_Properties
        REM uruchomienie okna dialogowego
        oDialog1.Execute()
    End Sub

### Dodanie wpisu do pola listy

    Sub AddEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
        REM dodanie nowego wpisu do pola listy
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        Dim iCount as integer
        iCount = oListbox.ItemCount
        oListbox.additem("New Item" & iCount,0)
    End Sub

### Usunięcie wpisu z pola listy

    Sub RemoveEntry
        With GlobalScope.Basiclibraries
           If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
        End With
        oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
        REM usunięcie pierwszego wpisu z pola listy
        oDialog1Model = oDialog1.Model
        oListBox = oDialog1.GetControl("ListBox1")
        oListbox.removeitems(0,1)
    End Sub

Tematy pokrewne

Zmiana właściwości formantów w edytorze okien dialogowych

Tworzenie okien dialogowych

Tworzenie formantów w edytorze okien dialogowych

Otwieranie okna dialogowego za pomocą Basic