Programming Examples for Controls in the Dialog Editor

Följande exempel gÀller för en ny dialogruta som kallas "Dialog1". AnvÀnd verktygen pÄ verktygsraden VerktygslÄda i dialogredigeraren om du vill skapa dialogrutan och lÀgga till de hÀr kontrollerna: en kryssruta som kallas "Kryssruta1", ett etikettfÀlt som kallas "EtikettfÀlt1", en knapp som kallas "Kommandoknapp1" och en listruta som kallas "Listruta1".

Varningssymbol

Var konsekvent med stora och smÄ bokstÀver nÀr du bifogar en kontroll med objektvariabel.


Globala funktioner för laddning av dialogrutor


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.

Visa en dialogruta


REM globala definitioner av variabler
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

LÀsa och redigera egenskaper för kontroller i programmet


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM hÀmta dialogrutemodell
    oDialog1Model = oDialog1.Model
    REM visa texten för Etikett1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM ange ny text för kontrollen Etikett1
    oEtikett1.Text = "Nya filer"
    REM visa modellegenskaper för kontrollen Kryssruta1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM ange nytt tillstÄnd för Kryssruta1 för kontrollmodell
    oCheckBox1Model.State = 1
    REM visa modellegenskaper för kontrollen Kommandoknapp1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM visa egenskaper för kontrollen Kommandoknapp1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM öppna dialogrutan
    oDialog1.Execute()
End Sub

LĂ€gga till en post i en listruta


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM lÀgger till en ny post i listrutan
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListruta.additem("Ny post" & iCount,0)
End Sub

Ta bort en post frÄn en listruta


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM ta bort den första posten frÄn listrutan
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Please support us!