Seite 1 von 1

Icons [erledigt]

Verfasst: Mi, 16. Feb 2022 13:35
von Wolfgang Ciriack
Hallo,
habe bei mir im Programm diverse Icons als Resourcen eingebunden.
Kann ich die irgendwie an L&L übergeben um sie mit auszudrucken ?

Re: Icons

Verfasst: Mi, 16. Feb 2022 13:48
von Tom
Hallo, Wolfgang.

Ich habe danach auch schonmal gesucht, aber der Zugriff auf Icon-Ressourcen aus DLLs scheint nicht in Berichten vorgesehen zu sein. Man müsste also mit XbpIcon:GetBitmap() eine Bitmap zu jedem Icon erzeugen und das dann entweder als Dateien speichern, deren Namen man L&L übermittelt, oder den Versuch unternehmen, die Bitmap direkt zu publizieren. Das geht aber nur über Handles und ist zur Laufzeit m.E. ein bisschen schwierig.

LL.LlDefineVariableExtHandle('Picture', BufferImage.picture.bitmap.handle, LL_DRAWING_HBITMAP)

Re: Icons

Verfasst: Mi, 16. Feb 2022 15:24
von Wolfgang Ciriack
Danke, Tom. Na ist nicht ganz so wichtig, vielleicht probiere ich das mal am WE.

Re: Icons

Verfasst: Mi, 16. Feb 2022 20:25
von Marcus Herz
Hatte da letzte Woche auch eine Anfrage:
ListLabel kann nur Graphiken aus Dateien laden.
Es gibt zwar eine Funktion LlDefineVariableExtHandle, der man ein Windows handle übergeben kann (könnte mit OT4XB erzeugt werden). Das muss aber vor Beginn des Druckes erzeugt werden und bis zum Abschluss gültig sein. Und dann wieder alles freigeben.
Unpraktikabel.
Leichter sich die Graphiken auf Platte zu halten.

Re: Icons

Verfasst: Mi, 16. Feb 2022 22:05
von AUGE_OHR
hi,

ich habe es mit Bitmap gemacht woraus PDR 6009 entstanden ist

Code: Alles auswählen

         CASE aType[ i ] $ "V"                                        // BLOB
            IF lAsFields
               LlDefineFieldExtHandle( hJob, ;
                                       aField[ i ], ;
                                       TillBMP( MyContens ), ;
                                       LL_DRAWING_HBITMAP, 0 )
nun habe ich "irgendwo" die Konstante LL_DRAWING_HICON gesehen ...

---

Code: Alles auswählen

FUNCTION TillBMP( cBuf )
ist der Aufruf zu "meiner" CLASS FROM XbpBitmap() welche PDR 6009 enthält
d.h. es gibt eine Method welche das Handle "raus-führt"

das selbe sollte mit XbpIcon() gehen und dann wäre es kein Problem es mit L&L zu verwenden
der Source zu XbpIcon() ist übrigens in \Source\SYS\xbparts.prg enthalten

Re: Icons

Verfasst: Do, 17. Feb 2022 9:13
von Marcus Herz
Das sind die Vorgaben von Combit:
Das Handle muss so lange gültig sein, wie es gebraucht wird, also während der gesamten Layout-Definition oder bis nach LlPrintFields() bzw. LlPrint().
Icons sind hier nicht gelistet
Die Übergabe von Grafiken im Speicher (nur für BMP, EMF) erfolgt mittels der API LlDefineVariableExtHandle().

Re: Icons

Verfasst: Do, 17. Feb 2022 9:23
von AUGE_OHR
hi,

ich bezog mit hierrauf womit ich Bitmao, aus einer DBF, in L & L "drucke"
LlDefineFieldExtHandle
Syntax:
INT LlDefineFieldExtHandle(HLLJOB hJob, LPCTSTR lpszName, HANDLE hContents,INT32 lPara, LPVOID lpPara);

Aufgabe:
Definiert ein Listenfeld und dessen Inhalt.

Parameter:
hJob: List & Label Job-Handle
lpszName: Zeiger auf ANSIZ-Zeichenkette mit Feldname
hContents: Handle vom Typ HMETAFILE, HENHMETAFILE, HBITMAP oder HICON.
lPara: LL_DRAWING_HMETA, LL_DRAWING_HEMETA (32 bit), LL_DRAWING_HICON oder LL_DRAWING_HBITMAP
lpPara: für spätere Erweiterungen, muss NULL oder "" (Leerstring) sein (siehe LlDefineFieldExt)

Re: Icons

Verfasst: Sa, 19. Feb 2022 9:31
von Wolfgang Ciriack
Habe jetzt die Icons als Bitmap-Dateien zusätlich abgelegt, damit klappt es, somit erledigt.