Innhold

# 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».

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

Lignende emner

Endring av egenskapene til kontrollelementer i redigeringsprogrammet for dialogvinduer

Lage et dialogvindu i Basic

Sette inn kontrollelementer i dialogvindu

Åpner en Dialog med Basic