Programmeringseksempel for kontroller i redigering av dialogvinduer..

De følgende eksemplene beskriver et nytt dialogvindu kalt «Dialog1». Bruk kontrollelementene på verktøylinjen Verktøykasse i dialogredigeringen for å lage dialogvinduet og legge til følgende kontrollelementer: en Avkryssingsboks kalt «CheckBox1», et Etikettfelt kalt «Label1», en Knapp kalt «CommandButton1» og en Listeboks kalt «ListBox1».

Advarselsikon

Vær konsekvent med små/store bokstaver når du kobler et kontrollelement til en objekt-variabel.


Overordnet funksjon for å laste dialogvinduer


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

Funksjonen LoadDialog er lagret i Tools.ModuleControls tilgjengelig fra applikasjonsmakroer og dialogbokser.

Visning av et dialogvindu


REM global definisjon 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

Se på, eller rediger egenskapene til kontrollelementene i et program


Sub Sample1
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.LoadDialog("Standard", "Dialog1")
    REM hent dialogmodell
    oDialog1Model = oDialog1.Model
    REM vis tekst for Etikett1
    oLabel1 = oDialog1.GetControl("Label1")
    MsgBox oLabel1.Text
    REM sett ny tekst for Kontrolletikett1
    oLabel1.Text = "Nye Filer"
    REM vis modellegenskapene for Avkryssingsboks1
    oCheckBox1Model = oDialog1Model.CheckBox1
    MsgBox oCheckBox1Model.Dbg_Properties
    REM sett ny tilstand for Avkryssingsboks1 for kontrollmodell
    oCheckBox1Model.State = 1
    REM vis modellegenskapene for Kommandoknapp1
    oCMD1Model = oDialog1Model.CommandButton1
    MsgBox oCMD1Model.Dbg_Properties
    REM vis modellegenskapne for Kommandoknapp1
    oCMD1 = oDialog1.GetControl("CommandButton1")
    MsgBox oCMD1.Dbg_Properties
    REM kjør dialogvinduet
    oDialog1.Execute()
End Sub

Legg til en oppføring i en listeboks


Sub AddEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = ModuleControls.LoadDialog("Standard", "Dialog1")
    REM legg til et nytt element i listeboksen
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    Dim iCount as integer
    iCount = oListbox.ItemCount
    oListbox.additem("Nytt element" & iCount,0)
End Sub

Fjern en oppføring fra en listeboks


Sub RemoveEntry
    With GlobalScope.Basiclibraries
       If Not .IsLibraryLoaded("Tools") Then .LoadLibrary("Tools")
    End With
    oDialog1 = Tools.ModuleControls.LoadDialogLoadDialog("Standard", "Dialog1")
    REM Fjern det første elementet i ein Listeboks
    oDialog1Model = oDialog1.Model
    oListBox = oDialog1.GetControl("ListBox1")
    oListbox.removeitems(0,1)
End Sub

Supporter oss!