Programming Examples for Controls in the Dialog Editor

Az alábbiak egy új „Dialog1” nevű párbeszédablak létrehozására mutatnak példát. A párbeszédablak-szerkesztő Eszközök paneljén található eszközökkel hozza létre a párbeszédablakot, és adja hozzá a következő vezérlőelemeket: egy „CheckBox1” nevű Jelölőnégyzetet, egy „Label1” nevű Címkét, egy „CommandButton1” nevű Gombot és egy „ListBox1” nevű Listamezőt.

Figyelmeztetés ikon

Legyen következetes a kis- és nagybetűk használatával egy vezérlőelem object (objektum) változóhoz rendelése esetén.


Általános függvény párbeszédablakok betöltéséhez


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 LibreOffice Macros and Dialogs.

Párbeszédablak megjelenítése


REM változók globális meghatározása
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

A programban levő vezérlőelemek tulajdonságainak olvasása vagy szerkesztése


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM a párbeszédablak-modell beolvasása
    oDialog1Model = oDialog1.Model
    REM a Label1 szövegének megjelenítése
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM a Label1 vezérlőelem szövegének megváltoztatása
    oLabel1.Text = "Új fájlok"
    REM a CheckBox1 vezérlőelem modelltulajdonságainak megjelenítése
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM a CheckBox1 vezérlőelem modelljében új állapot beállítása
    oCheckBox1Model.State = 1
    REM a CommandButton1 vezérlőelem modelltulajdonságainak megjelenítése
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM a CommandButton1 vezérlőelem tulajdonságainak megjelenítése
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM párbeszédablak futtatása
    oDialog1.Execute()
End Sub

Bejegyzés hozzáadása egy listamezőhöz


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM hozzáad a listamezőhöz egy új bejegyzést
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("New Item" & iCount,0)
End Sub

Bejegyzés eltávolítása egy listamezőből


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM a listamező első bejegyzésének eltávolítása
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Please support us!