| |
|
|
Frank Abbing | KompilierenMarkierenSeparieren Sollte dieser Code nicht ein Bitmap aus einem Icon aus der Shell32.dll generieren? Meldet mir immer "Bitmap nicht ladbar". Mit einem Bitmap anstelle eines Icons gehts. An der Stelle finde ich die Doku auch etwas schwammig formuliert... |
|
|
| |
|
|
|
E.T. | Jetzt, wo du es sagst: das Problem hatte ich kürzlich auch erst. Überleg... Ach ja: Ich wollt meinem Fenster-Menü ein paar Bilder gönnen. Da bin ich auf die Idee gekommen, das ja eigentlich alle Bilder schon als Icon in meiner Dll liegen und bin an die selbe Grenze gestoßen wie du eben( das ein "hPic" eben kein Icon ausliest) .
Und andersherum, wollt ich ein hIcon nehmen: Kommt diese blöde API, um das Bild ins Menü "zu malen", wieder nich klar damit. |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 06.12.2008 ▲ |
|
|
|
|
Frank Abbing | Darum auch meine Kritik an der Doku. An der Stelle werden auch Icons genannt:
Folgende Bildformate werden unterstützt:
Bitmap (*.bmp, *.rle, *.dib) Jpeg (*.jpg, *.jpe, *.jpeg) Gif (*.gif) Png (*.png) Enhanced Metafile ( *.emf) Metafile (*.wmf) Icons (*.ico) Cursor (*.cur)
|
|
|
| |
|
|
|
E.T. | Ich denk, wir sollten das unter [...] mit einreihen |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 06.12.2008 ▲ |
|
|
|
|
Andreas Miethe
| Frank Abbing
Sollte dieser Code nicht ein Bitmap aus einem Icon aus der Shell32.dll generieren? Meldet mir immer "Bitmap nicht ladbar". Mit einem Bitmap anstelle eines Icons gehts. An der Stelle finde ich die Doku auch etwas schwammig formuliert...
Hallo Frank,
finde ich nicht schwammig.
Zitat aus Hilfe Typ > 0: S = Name einer Bitmapressource in externer Datei
Ich finde es geht klar daraus hervor, dass es eine Bitmapresoucre und keine Iconresource sein soll. Ein bisschen verwirrend, muss ich zugeben, ist dabei die Bildformat-Unterstützung weiter unten.
Ich habe mir für Icons einen Workaround gebastelt. KompilierenMarkierenSeparierenCls
SUBPROC Create.hIcoPic
Parameters Res$,ID&
Var pic& = Create("hNewPic", 32,32,0)
Startpaint pic&
DrawLibIcon Res$,ID&,0,0
EndPaint
Return Pic&
ENDPROC
Var Pic& = Create("hIcoPic","shell32.dll",7)
DrawPic pic&,10,10,-1
WaitInput
End
|
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 06.12.2008 ▲ |
|
|
|
|
RGH | Hallo,
ja, die Hilfe könnte hier etwas eindeutiger sein und nochmal extra darauf hinweisen, dass sich die unterschiedlichen Formate auf das Laden von Dateien (N=-1) beziehen. Andererseits kommen die angegebenen Dateiendungen auch nur bei Dateien vor. ;)
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 06.12.2008 ▲ |
|
|
|
|
Frank Abbing | Die Daten in der Datei sind jedoch gleich.
@Andreas: Die Qualität der gemalten Icons ist allerdings so leider miserabel. |
|
|
| |
|
|
|
| Vielleicht nicht so "miserabel", wenn man den Hintergrund zuvor auf hpic kopiert. |
|
|
| |
|
|
|
Frank Abbing | iF
Vielleicht nicht so "miserabel", wenn man den Hintergrund zuvor auf hpic kopiert.
Teste es, aber sei nicht enttäuscht. Liegt einfach an der Transparenz, die nicht richtig übernommen wird. |
|
|
| |
|
|
|
| Der schöne "Alias" am Rand, gell?
Da muss das hPic wohl 32 Bit "breit" sein, sodass Windows einmixt.
Du könntest aber auch eine Resample-Skalierfunktion von hPics z.B. per inlineASM einproggen.
Dann könnte man z.B. mit doppelter Größe zeichnen, und nach Runterresampling wäre "der" schöne Rand wieder vorhanden. |
|
|
| |
|
|
|
Frank Abbing | In meinem speziellen Fall, wo es mir ja um die Icons aus der Shell32.dll geht, "kopiere" ich die Icons einfach via ImageList_Draw(Ex) aus der Systemimagelist (darin befinden sich auch alle Icons aus der shell32.dll). Absolut smooth. Ist dann sogar möglich, die Icons in (Popup)Menues zu benutzen, siehe Screenshots. Auch für andere Icon-Resourcen empfehle ich eher den Umweg über eine Imageliste. Die Imagelist-Funktionen sind in der Lage Icons richtig transparent auf eine Bitmap zu malen. Ohne Umrechnungsfehler. |
|
|
| |
|
|