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 Application 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

Stötta oss!