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".
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