Зміст
Покажчик 🔎︎

# Приклади програмування для елементів керування в редакторі діалогових вікон

Нижче наведено приклади для нового діалогового вікна з назвою "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 function is stored in Tools.ModuleControls available from Application Macros and Dialogs.

### Виведення діалогового вікна

    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

Пов'язані теми

Зміна властивостей елементів керування у редакторі діалогових вікон

Створення діалогового вікна за допомогою Basic

Створення елементів керування в редакторі діалогових вікон

Opening a Dialog With Basic