[gelöst] Bild in Dialog

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
Steppenwolf
*
Beiträge: 19
Registriert: Mi, 03.03.2010 23:15

[gelöst] Bild in Dialog

Beitrag von Steppenwolf »

Hallo zusammen,

ich steh im Moment vor folgendem Problem:
Ich habe Dialoge für Formulare, an den ich arbeite, mit Bild-Dateien gestaltet. Die Bild-Dateien sind PNG´s und werden in einem Ordner "icons" neben dem Formular gespeichert. Leider habe ich in Erfahrung gebracht das relative Pfade unter OO etwas schwierig sind und nicht so gut funktionieren. Da die Formulare natürlich auf anderen Rechnern als meiner ausgefüllt werden sollen, habe ich mich wegen diesen Schwieirgkeiten dagegen entschieden.
Nun ist natürlich noch viel schlimmer wenn man die PNG´s mit schickt und die Ordner Struktur dort anpassen muss. Davon muss ich also auch weg.

Frage:
Gitb es eine Möglichkeit die Bilder beispielsweise in dem Formular fest zu integrieren und zu verstecken, um sie dann in den Dialogen nutzen zu können ? Die PNG´s müssten iwie in das Formular eingebettet werden nur weiß überhaupt nicht wie das gehen soll. Meinetwegen können die Natürlich auch in die Dialoge eingebettet werden. Nur glaub ich nicht das das geht....

Weiß jemand Rat ?
Zuletzt geändert von Steppenwolf am Mi, 10.11.2010 00:58, insgesamt 1-mal geändert.
Ich würde ja die Welt verändern,
Doch der Quellcode ist mir zu absurd! ^^
turtle47
*******
Beiträge: 1849
Registriert: Mi, 04.01.2006 20:10
Wohnort: Rheinbach

Re: Bild in Dialog

Beitrag von turtle47 »

Hallo Steppenwolf,
Steppenwolf hat geschrieben:Gitb es eine Möglichkeit die Bilder beispielsweise in dem Formular fest zu integrieren und zu verstecken, um sie dann in den Dialogen nutzen zu können ?
Ja, es gibt eine Möglichkeit. Schau Dir dazu mal das Beispiel von Stephan an. Das sollte Dir weiterhelfen.


Viel Erfolg.

Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!

Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Benutzeravatar
Steppenwolf
*
Beiträge: 19
Registriert: Mi, 03.03.2010 23:15

Re: Bild in Dialog

Beitrag von Steppenwolf »

Da bin ich wieder ^^

Danke erstmal für die antwort. Damit kann ich grundsätzlich etwas anfangen. Ich hatte nun endlich wieder ein wenig Zeit damit ein wenig rumzuspielen und scheitere nun leider an dem Versuch die 3 PNGs so zu packen das die odt sich ohne Fehler/Reperaturmeldung öffnen lässt. Die manifest.xml habe ich schon nach Vorbild der ods aus dem link angefasst. Leider reichte dies noch nicht. Meine Manifest datei sieht so aus (der Ordner icons mit den 3 pngs wurden von mir hinzugefügt (über meta/xml ^^)):

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest xmlns:manifest="urn:oasis:names:tc:opendocument:xmlns:manifest:1.0">
 <manifest:file-entry manifest:media-type="application/vnd.oasis.opendocument.text" manifest:version="1.2" manifest:full-path="/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/statusbar/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/accelerator/current.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/accelerator/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/floater/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/popupmenu/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/progressbar/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/menubar/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/toolbar/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/images/Bitmaps/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Configurations2/images/"/>
 <manifest:file-entry manifest:media-type="application/vnd.sun.xml.ui.configuration" manifest:full-path="Configurations2/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/dialog-lc.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/Standard/Dialog2.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/Standard/dialog-lb.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/Standard/Dialog1.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Dialogs/Standard/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/OpenOfficeAPI/dialog-lb.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Dialogs/OpenOfficeAPI/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/NuWiFormular/dialog-lb.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/NuWiFormular/dlgFailure.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/NuWiFormular/Bemerkung.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/NuWiFormular/dlgValidation.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/NuWiFormular/dlgInfo.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Dialogs/NuWiFormular/Info.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Dialogs/NuWiFormular/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Dialogs/"/>
 <manifest:file-entry manifest:media-type="image/png" manifest:full-path="Pictures/10000200000001580000004026971F38.png"/>
 <manifest:file-entry manifest:media-type="image/png" manifest:full-path="Pictures/100002010000020900000208A9622D69.png"/>
 <manifest:file-entry manifest:media-type="image/png" manifest:full-path="Pictures/10000000000001270000011058CDFB5A.png"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Pictures/"/>
 <manifest:file-entry manifest:media-type="application/binary" manifest:full-path="layout-cache"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="content.xml"/>
 <manifest:file-entry manifest:media-type="application/rdf+xml" manifest:full-path="manifest.rdf"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/Standard/script-lb.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Basic/Standard/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/OpenOfficeAPI/WriterAPI.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/OpenOfficeAPI/dataSourceAPI.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/OpenOfficeAPI/script-lb.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Basic/OpenOfficeAPI/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/script-lc.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/NuWiFormular/Validation.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/NuWiFormular/Main.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/NuWiFormular/Model.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/NuWiFormular/Control.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/NuWiFormular/script-lb.xml"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="Basic/NuWiFormular/View.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Basic/NuWiFormular/"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Basic/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="styles.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="icons/failure.png"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="icons/info.png"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="icons/warning.png"/>
 <manifest:file-entry manifest:media-type="meintyp" manifest:full-path="icons/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="meta.xml"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Thumbnails/thumbnail.png"/>
 <manifest:file-entry manifest:media-type="" manifest:full-path="Thumbnails/"/>
 <manifest:file-entry manifest:media-type="text/xml" manifest:full-path="settings.xml"/>
</manifest:manifest>
Habe ich einen Fehler gemacht? Was mir erstmal aufgefallen ist, ist das die Manifestversion etc im Kopf, mit der Beispiel ods nicht übereinstimmen. Allerdings wage ich es nicht diese zu verändern. Funktioniert dieses Vorhaben überhaupt noch bei der Version?
Ich würde ja die Welt verändern,
Doch der Quellcode ist mir zu absurd! ^^
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Bild in Dialog

Beitrag von DPunch »

Aloha

Im Zweifelsfall kannst Du es natürlich auch so machen, wie Du es bereits vermutest hast, sprich: die Bilder ins Formular packen und verstecken.
(Grafisches Kontrollfeld einfügen -> im Kontextmenu davon "Kontrollfeld..." -> auf "..." neben Eigenschaft "Grafik" klicken -> unten Häkchen bei "Verknüpfen" rausnehmen und Grafik auswählen)
Benutzeravatar
Steppenwolf
*
Beiträge: 19
Registriert: Mi, 03.03.2010 23:15

Re: Bild in Dialog

Beitrag von Steppenwolf »

WUNDERBAR :-) guter Tipp
Das man in dem Filechooser dialog einhacken muss, das das Bild eingebettet werden soll, wusste ich natürlich nicht.

Schade eigentlich. Die Erste Methode hat mir sehr gefallen ^^ Das Bild ist nun Im Formular gespeichert. Allerdings weiß ich nun leider nicht wie ich diese PNGs für meine Dialoge zur Verfügung stellen kann. Habe mir via Xray die Grafische Schaltfläche mal angeguckt und leider nichts gefunden das mir das Bild geben könnte.
Bis auf "createclone", das wäre aber etwas mehr als das nur das Bild :-S

Sollte ich nun einen Klon von diesem Bild erstellen und in das Dialog setzen (und wenn ja wie ?) oder gibt es vll noch eine einfachere Methode jetzt an das Bild heranzukommen und einfach dem ImageControl zu übergeben. ImageControl kann das ja leider NICHT einbetten -.-
Ich würde ja die Welt verändern,
Doch der Quellcode ist mir zu absurd! ^^
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Bild in Dialog

Beitrag von DPunch »

Aloha

Ich hab momentan nicht die technischen Voraussetzungen gegeben (sprich OpenOffice), werde aber bei Gelegenheit mal ein Beispiel hochladen.
Benutzeravatar
Steppenwolf
*
Beiträge: 19
Registriert: Mi, 03.03.2010 23:15

Re: Bild in Dialog

Beitrag von Steppenwolf »

Das wäre super ^^

Danke
Ich würde ja die Welt verändern,
Doch der Quellcode ist mir zu absurd! ^^
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Bild in Dialog

Beitrag von DPunch »

Aloha

Schau mal, ob Du mit dem Beispiel was anfangen kannst (der Makrocode ist eigentlich extrem kurz, wenn was unklar ist, einfach nochmal nachfragen).
Die Bilder sind im Formular verankert (und können dort versteckt werden) und werden per Makro in das Grafische Kontrollfeld im Dialog übertragen.
Dateianhänge
BildEingebettet.odb
(23.44 KiB) 112-mal heruntergeladen
Benutzeravatar
Steppenwolf
*
Beiträge: 19
Registriert: Mi, 03.03.2010 23:15

Re: Bild in Dialog

Beitrag von Steppenwolf »

Vielen Dank ^^
Das Beispiel ist Super und schön einfach zu verstehen.
Die wichtigste Information, die darin steckte war: Eine Grafische Schaltfläche in dem man das Bild eingebettet hat, hat trotzdem eine ImageURL Eigenschaft, dessen Wert man Problemlos an andere Grafische Schaltfläche übergeben kann.

Ich setz den Thread dann mal auf gelöst ^^
Ich würde ja die Welt verändern,
Doch der Quellcode ist mir zu absurd! ^^
Antworten