Примеры программирования для управляющих элементов в редакторе диалогов

Ниже приведены примеры для нового диалогового окна с именем "Dialog1". Воспользуйтесь инструментами на Панели инструментов в редакторе диалоговых окон, чтобы создать диалоговое окно и добавить следующие элементы управления: Флажок с именем "CheckBox1", Подпись с именем "Label1", Кнопку с именем "CommandButton1" и Список с именем "ListBox1".

Значок предупреждения

При добавлении элемента управления к переменной не забывайте о соответствии прописных и строчных букв.


Глобальная функция для загрузки диалоговых окон


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

Функция LoadDialog хранится в Tools.ModuleControls, доступном из области хранения «Макросы и диалоговые окна приложений».

Отображение диалогового окна


REM глобальное определение переменных
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

Чтение или изменение свойств элементов управления в программе


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM получение модели диалогового окна
    oDialog1Model = oDialog1.Model
    REM отображение текста Label1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM задание нового текста для элемента управления Label1
    oLabel1.Text = "Создать файлы"
    REM отображение свойств модели для элемента управления CheckBox1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM задание нового состояния для CheckBox1 для модели элемента управления
    oCheckBox1Model.State = 1
    REM отображение свойств модели для элемента управления CommandButton1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM отображение свойств элемента управления CommandButton1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM выполнение диалогового окна
    oDialog1.Execute()
End Sub

Добавление элемента в список


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM добавляет новый элемент в список
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("New Item" & iCount,0)
End Sub

Удаление элемента из списка


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM удаление первого элемента из списка
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub
Пожалуйста, поддержите нас!

Пожалуйста, поддержите нас!