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

Ikona ostrzeżenia

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

Prosimy o wsparcie!