meinen Dialog erstelle ich ja nun während der Laufzeit und soweit läuft auch alles so, wie ich es mir vorstelle. Als ich aber jetzt ein Bild mittels grafischem Kontrollfeld (in der Größe des Dialogs) hinzugefügt habe, flackert der gesamte Dialog bis sämtliche Kontrollfelder darin geladen sind.
Code: Alles auswählen
'Allgemeine Variablen
Global dlgRecipes As Object
'*************************************************************************************************************************************************************
'Erzeugung des Laufzeit-Dialoges "Rezepte"
Sub createDialog()
Dim dlgModel As Object, oMod As Object, oWindow As Object, oTopWindowListener As Object
Dim sTextlines As String
Dim arrTemp As Variant
dlgRecipes = createUnoService("com.sun.star.awt.UnoControlDialog")
If Not isNull(dlgRecipes) Then
If dlgRecipes.isVisible() Then
dlgRecipes.setVisible(False)
dlgRecipes.Dispose
End If
End If
'*********************************************************************************************************************************************************
'Auslesen eines Rezeptes aus der Datenbank
Dim sRecipe As String, sDescription As String, sImageURL As String, sQuantity As String, sUnit As String, sIngredient As String, sPreparation As String, sAuthor As String
Dim nWorkingTime As Integer, nCookingTime As Integer, nDormancy As Integer, nRecipeID As Integer, nPortions As Integer, nComplexity As Integer, nRating As Integer, nRetrievals As Integer
Dim nCaloricValue As Double, nProtein As Double, nCarbohydrate As Double, nFat As Double, nRoughage As Double, nSodium As Double
Dim dSavedDate As Date, dModifiedDate As Date
nRecipeID = 1
With oResultRecipes
.Command = "SELECT recipeID, recipe, description, thumbnail, preparation, portions, workingTime, cookingTime, dormancy, complexity, rating, author, caloricValue, protein, carbohydrate, fat, roughage, sodium, savedDate, modifiedDate, retrievals FROM tblRecipes WHERE recipeID = '" & nRecipeID & "'"
.Execute()
If .First() Then
sRecipe = .getString(2)
sDescription = .getString(3)
sImageURL = convertToUrl("D:\myDocuments\Gesundheit\Ernährung\Koch-, Back- & Cocktailrezepte\db-rezepte\pictures\" & .getString(4)
sPreparation = .getString(5)
nPortions = .getInt(6)
nWorkingTime = .getInt(7)
nCookingTime = .getInt(8)
nDormancy = .getInt(9)
nComplexity = .getInt(10)
nRating = .getInt(11)
sAuthor = .getString(12)
nCaloricValue = .getDouble(13)
nProtein = .getDouble(14)
nCarbohydrate = .getDouble(15)
nFat = .getDouble(16)
nRoughage = .getDouble(17)
nSodium = .getDouble(18)
dSavedDate = .getString(19)
dModifiedDate = .getString(20)
nRetrievals = .getInt(21)
End If
End With
'*********************************************************************************************************************************************************
Dim globalWidth As Integer, globalHeight As Integer
globalWidth = 450
globalHeight = 369
'Initialisierung eines Dialoges
dlgModel = createUnoService("com.sun.star.awt.UnoControlDialogModel")
With dlgModel
.setPropertyValue("Name", "dlgRecipes") 'Elementname
.setPropertyValue("Title", "Rezeptdetails") 'Titel
.setPropertyValue("Closeable", True) 'Möglichkeit zum Schließen des Dialoges
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 0) 'Position x
.setPropertyValue("PositionY", 0) 'Position y
.setPropertyValue("Width", globalWidth)'350) 'Breite
.setPropertyValue("Height", globalHeight)'550) 'Höhe
.setPropertyValue("BackgroundColor", RGB(255,255,255) 'Hintergrundfarbe
' .setPropertyValue("ImageURL", convertToUrl("D:\myDocuments\Gesundheit\Ernährung\Koch-, Back- & Cocktailrezepte\db-rezepte\layout.png") 'Grafik-URL
End With
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlImageControlModel")
With oMod
.setPropertyValue("Name", "dlgImg") 'Elementname
.setPropertyValue("Enabled", False) 'Aktivierung des Kontrollfeldes
.setPropertyValue("EnableVisible", False)
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 0) 'Position x
.setPropertyValue("PositionY", 0) 'Position y
.setPropertyValue("Width", globalWidth) 'Breite
.setPropertyValue("Height", globalHeight) 'Höhe
.setPropertyValue("Border", 0) 'Rahmen(In der Laufzeit-Erstellung kann man den Rahmen mit 0 ausblenden, ansonsten stets mit -1!)
.setPropertyValue("ImageURL", convertToUrl("D:\myDocuments\Gesundheit\Ernährung\Koch-, Back- & Cocktailrezepte\db-rezepte\layout.png") 'Grafik-URL
' .setPropertyValue("ScaleImage", True) 'Aktivierung der Skalierung
.setPropertyValue("ScaleMode", 0) 'Skalierungs-Modus
End With
dlgModel.insertByName("dlgImg", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
'Erzeugung eines numerischen Feldes für die temporäre Datenaufnahme
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlEditModel")
With oMod
.setPropertyValue("Name", "txtTemp") 'Elementname
.setPropertyValue("Text", "") 'Text
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 0) 'Position x
.setPropertyValue("PositionY", dlgModel.Height) 'Position y
.setPropertyValue("Width", 200) 'Breite
.setPropertyValue("Height", 12) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("Border", 0) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("txtTemp", oMod)
dlgRecipes.setModel(dlgModel)
oWindow = createUnoService("com.sun.star.awt.Toolkit")
dlgRecipes.createPeer(oWindow, Null)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblRecipe") 'Elementname
.setPropertyValue("Label", sRecipe) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", 10) 'Position y
.setPropertyValue("Width", 200) 'Breite
.setPropertyValue("Height", 17) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 13) 'Schriftgröße
.setPropertyValue("FontWeight", 150) 'Schriftgewichtung("Normal"=0;"Fett"=150)
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblRecipe", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblDescription") 'Elementname
.setPropertyValue("Label", sDescription) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", 27) 'Position y
.setPropertyValue("Width", 200) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblDescription", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblRecipeID") 'Elementname
.setPropertyValue("Label", CStr(nRecipeID)) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 215) 'Position x
.setPropertyValue("PositionY", 27) 'Position y
.setPropertyValue("Width", 30) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblRecipeID", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlImageControlModel")
With oMod
.setPropertyValue("Name", "imgThumbnail") 'Elementname
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblDescription").Model.PositionY + 11 + 10) 'Position y
.setPropertyValue("Width", 90) 'Breite
.setPropertyValue("Height", 160) 'Höhe
.setPropertyValue("ImageURL", sImageURL) 'Grafik-URL
' .setPropertyValue("ScaleImage", True) 'Aktivierung der Skalierung
.setPropertyValue("ScaleMode", 0) 'Skalierungs-Modus
End With
dlgModel.insertByName("imgThumbnail", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
Dim i As Integer
i = 0
With oResultRecipesIngredients
.Command = "SELECT rowid, quantity, unitID, ingredientID, recipeID, comment FROM tblRecipesIngredients WHERE recipeID = '" & nRecipeID & "'ORDER BY rowid"
.Execute()
.beforeFirst()
Dim nSearchID As Integer
Do While .Next()
sQuantity = .getString(2)
nSearchID = .getInt(3)
If nSearchID > 0 Then
With oResultUnits
.Command = "SELECT unitID, symbol FROM tblUnits WHERE unitID = '" & nSearchID & "'"
.Execute()
If .First() Then sUnit = " " & .getString(2)
End With
Else
sUnit = ""
End If
nSearchID = .getInt(4)
With oResultIngredients
.Command = "SELECT ingredientID, ingredient FROM tblIngredients WHERE ingredientID = '" & nSearchID & "'"
.Execute()
If .First() Then sIngredient = .getString(2)
End With
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblQuantity" + i) 'Elementname
.setPropertyValue("Label", sQuantity & sUnit) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 100) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("imgThumbnail").Model.PositionY + (i * 11)) 'Position y
.setPropertyValue("Width", 40) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblQuantity" + i, oMod)
dlgRecipes.setModel(dlgModel)
'*************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblIngredient" + i) 'Elementname
.setPropertyValue("Label", sIngredient) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 140) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("imgThumbnail").Model.PositionY + (i * 11)) 'Position y
.setPropertyValue("Width", 70) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblIngredient" + i, oMod)
dlgRecipes.setModel(dlgModel)
i = i + 1
Loop
End With
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblPreparation") 'Elementname
.setPropertyValue("Label", sPreparation) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("imgThumbnail").Model.PositionY+dlgRecipes.getControl("imgThumbnail").Model.Height + 10) 'Position y
.setPropertyValue("Width", 200) 'Breite
' .setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblPreparation", oMod)
dlgRecipes.setModel(dlgModel)
dlgRecipes.getControl("txtTemp").Model.Text = sPreparation
dlgRecipes.getControl("txtTemp").Model.Width = dlgRecipes.getControl("lblPreparation").Model.Width
sTextlines = dlgRecipes.getControl("txtTemp").Peer.Textlines
arrTemp = split(sTextlines,Chr(10))
dlgRecipes.getControl("lblPreparation").Model.Height = (ubound(arrTemp) + 1) * 11 - 2
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblRating") 'Elementname
.setPropertyValue("Label", CInt(nRating) & " Punkte") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblPreparation").Model.PositionY+dlgRecipes.getControl("lblPreparation").Model.Height) 'Position y
.setPropertyValue("Width", 50) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblRating", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblAuthor") 'Elementname
.setPropertyValue("Label", sAuthor) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblRating").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 200) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblAuthor", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
i = 0
With oResultRecipesCategories
.Command = "SELECT recipeID, categoryID, comment FROM tblRecipesCategories WHERE recipeID = '" & nRecipeID & "'"
.Execute()
.beforeFirst()
Dim nCategoryID As Integer
Dim sCategory As String
Do While .Next()
nCategoryID = .getInt(2)
With oResultCategories
.Command = "SELECT categoryID, category, comment FROM tblCategories WHERE categoryID = '" & nCategoryID & "'"
.Execute()
If .First() Then sCategory = .getString(2)
End With
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblCategories" + i) 'Elementname
.setPropertyValue("Label", sCategory) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblAuthor").Model.PositionY + 10 + 11 + (i * 11)) 'Position y
.setPropertyValue("Width", 70) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblCategories" + i, oMod)
dlgRecipes.setModel(dlgModel)
i = i + 1
Loop
End With
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblPortions") 'Elementname
.setPropertyValue("Label", nPortions & " Portionen") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblCategories0").Model.PositionY + 10 + 11 + 11) 'Position y
.setPropertyValue("Width", 50) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblPortions", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblComplexity") 'Elementname
Dim sComplexity As String
Select Case nComplexity
Case 1
sComplexity = "leicht"
Case 2
sComplexity = "normal"
Case 3
sComplexity = "mittel"
Case 4
sComplexity = "schwierig"
Case 5
sComplexity = ""
End Select
.setPropertyValue("Label", sComplexity) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblPortions").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 50) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblComplexity", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblWorkingTime") 'Elementname
.setPropertyValue("Label", nWorkingTime & " min.") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblComplexity").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 50) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblWorkingTime", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblCookingTime") 'Elementname
.setPropertyValue("Label", nCookingTime & " min.") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblWorkingTime").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 50) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblCookingTime", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblDormancy") 'Elementname
.setPropertyValue("Label", nDormancy & " min.") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblCookingTime").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 50) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblDormancy", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblCaloricValue") 'Elementname
.setPropertyValue("Label", CDbl(nCaloricValue) & " g Kalorien") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblDormancy").Model.PositionY + 11 + 10) 'Position y
.setPropertyValue("Width", 100) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblCaloricValue", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblProtein") 'Elementname
.setPropertyValue("Label", nProtein & " g Eiweiß") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblCaloricValue").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 100) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblProtein", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblCarbohydrate") 'Elementname
.setPropertyValue("Label", nCarbohydrate & " g Kohlenhydrahte") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblProtein").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 100) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblCarbohydrate", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblFat") 'Elementname
.setPropertyValue("Label", nFat & " g Fett") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblCarbohydrate").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 100) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblFat", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblRoughage") 'Elementname
.setPropertyValue("Label", nRoughage & " g Ballaststoffe") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblFat").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 100) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblRoughage", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblSodium") 'Elementname
.setPropertyValue("Label", nSodium & " g Salz") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblRoughage").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 100) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblSodium", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblSavedDate") 'Elementname
.setPropertyValue("Label", CStr(dSavedDate)) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblSodium").Model.PositionY + 11 + 10) 'Position y
.setPropertyValue("Width", 65) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblSavedDate", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblModifiedDate") 'Elementname
.setPropertyValue("Label", CStr(CDate(dModifiedDate))) 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblSavedDate").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 65) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblModifiedDate", oMod)
dlgRecipes.setModel(dlgModel)
'*********************************************************************************************************************************************************
oMod = dlgModel.createInstance("com.sun.star.awt.UnoControlFixedTextModel")
With oMod
.setPropertyValue("Name", "lblRetrievals") 'Elementname
.setPropertyValue("Label", nRetrievals & " Aufruf(e)") 'Titel
.setPropertyValue("Tabstop", False)
.setPropertyValue("TabIndex", 0) 'Aktivierungsreihenfolge
.setPropertyValue("PositionX", 10) 'Position x
.setPropertyValue("PositionY", dlgRecipes.getControl("lblModifiedDate").Model.PositionY + 11) 'Position y
.setPropertyValue("Width", 65) 'Breite
.setPropertyValue("Height", 11) 'Höhe
.setPropertyValue("FontName", "Comic Sans MS") 'Schriftart
.setPropertyValue("FontHeight", 9) 'Schriftgröße
.setPropertyValue("TextColor", RGB(0,0,0) 'Schriftfarbe
.setPropertyValue("Border", 2) 'Rahmen
.setPropertyValue("MultiLine", True) 'Mehrzeiligkeit
End With
dlgModel.insertByName("lblRetrievals", oMod)
dlgRecipes.setModel(dlgModel)
' dlgRecipes.getControl("dlgImg").Model.Enabled = True
' dlgRecipes.getControl("dlgImg").Model.EnableVisible = True
'*********************************************************************************************************************************************************
For i = 0 To ubound(dlgRecipes.Model.ElementNames())
'If Left(dlgRecipes.Model.ElementNames(i), 3) = "lbl" Then dlgRecipes.getControl(dlgRecipes.Model.ElementNames(i)).Model.Border = -1
Next i
'*********************************************************************************************************************************************************
'Anzeige des Dialogs mittels des Modells
oTopWindowListener = createUnoListener("oTopWindowListener_", "com.sun.star.awt.XTopWindowListener")
dlgRecipes.addTopWindowListener(oTopWindowListener)
dlgRecipes.setVisible(True)
dlgRecipes.getControl("dlgImg").Model.Enabled = True
dlgRecipes.getControl("dlgImg").Model.EnableVisible = True
End Sub
'*************************************************************************************************************************************************************
'Diese Routinen werden vom XTopWindowListener benötigt
Sub oTopWindowListener_windowClosing(oEvent) 'Dialog schließen
dlgRecipes.setVisible(False)
End Sub
Sub oTopWindowListener_disposing(oEvent)
End Sub
Sub oTopWindowListener_windowOpened(oEvent)
End Sub
Sub oTopWindowListener_windowClosed(oEvent)
End Sub
Sub oTopWindowListener_windowMinimized(oEvent)
End Sub
Sub oTopWindowListener_windowNormalized(oEvent)
End Sub
Sub oTopWindowListener_windowActivated(oEvent)
oTopWindowListener_windowDeactivated = False
End Sub
Function oTopWindowListener_windowDeactivated(oEvent) As Boolean
oTopWindowListener_windowDeactivated = True
End Function