Bild in Dialogfenster laden
Verfasst: Do, 26.05.2005 20:41
Hallo zusammen, ich habe folgende Aufgabe zu bewältigen:
Ich habe in einem Makro zu einer Calc-Datei ein Dialogfeld (oD1 as Object) mit einem ImageControl-Feld erstellt, in welches
a) beim öffnen des Dialogs und anschließend
b) durch anklicken eines Command-Buttons (z.B. "Next")
jeweils ein Bild aus einem bestimmten Verzeichnis angezeigt werden soll. Das Bild soll dabei ggf. an die Größe des ImageControl-Feldes angepasst werden. Hier im Forum habe ich nichts gefunden, im Sun-Handbuch leider auch nichts. Google spuckt ausschließlich VisualBasic-Lösungen aus, aber ich habe (als absoluter Newbie, der vor 6 Jahren - noch in der Schule - durch 'nen eher lauen VB-Kurs das letzte mal Kontakt mit der Materie hatte) gelesen, daß zwischen VB und OOo-Basic eigentlich keine gravierenden unterschiede bestehen würden. Also habe ich folgendes versucht:
Der Dialog wird dadurch auch geladen, aber das Bild wird nicht angezeigt. Ist ImageControl überhaupt das richtige Feld hierfür? Gibt es die Funktion LoadPicture überhaupt bei OOo-Basic? Die OOo-Hilfe konnte mich dabei nicht wirklich weiterbringen. Kann mir jemand von euch auf die Sprünge helfen?
Vielen Dank schonmal im voraus!
Ich habe in einem Makro zu einer Calc-Datei ein Dialogfeld (oD1 as Object) mit einem ImageControl-Feld erstellt, in welches
a) beim öffnen des Dialogs und anschließend
b) durch anklicken eines Command-Buttons (z.B. "Next")
jeweils ein Bild aus einem bestimmten Verzeichnis angezeigt werden soll. Das Bild soll dabei ggf. an die Größe des ImageControl-Feldes angepasst werden. Hier im Forum habe ich nichts gefunden, im Sun-Handbuch leider auch nichts. Google spuckt ausschließlich VisualBasic-Lösungen aus, aber ich habe (als absoluter Newbie, der vor 6 Jahren - noch in der Schule - durch 'nen eher lauen VB-Kurs das letzte mal Kontakt mit der Materie hatte) gelesen, daß zwischen VB und OOo-Basic eigentlich keine gravierenden unterschiede bestehen würden. Also habe ich folgendes versucht:
Code: Alles auswählen
Dim oD1 as Object
Dim oT1 as Object
Dim oT2 as Object
Dim oT3 as Object
Dim nDatSatz as Integer
Dim BildName as String
Dim myDoc as Object
Sub Main
myDoc = ThisComponent
oT1 = myDoc.sheets(0)
oT2 = myDoc.sheets(1)
oT3 = myDoc.sheets(2)
DialogLibraries.LoadLibrary( "Standard" )
oD1 = CreateUnoDialog(DialogLibraries.Standard.Erfassen)
initMaske
oD1.Execute()
End Sub
Sub initMaske
BildName = oT2.getCellRangeByName("B3").value
nDatSatz = oT2.getCellRangeByName("A3").value
oD1.getControl("NumericField1").value = nDatSatz
oD1.getControl("ImageControl1") = LoadPicture("/home/"& BildName)
End Sub
Vielen Dank schonmal im voraus!
