| |
|
|
Jörg Sellmeyer | Ist es möglich aus der Speicherbitmap ein Iconhandle zu bekommen? Ein Bitmaphandle geht, Dank Uwe Pascal Niemeier: KompilierenMarkierenSeparierenwindow 100,100-300,300
settruecolor 1
$H Windows.ph
$H Messages.ph
declare bmp&,Static&
mcls 100,100
startpaint -1
cls rgb(255,255,0)
usepen 0,5,rgb(255,0,255)
usebrush 1,rgb(0,255,255)
rectangle 10,10,90,90
--------------------------------------------------
bmp&=~GetCurrentObject(%hdc,~OBJ_BITMAP)
~DeleteDC(%hdc)
--------------------------------------------------
endpaint
Static&=control(static,,$5040000e,50,50,0,0,%hwnd,1,0)
sendmessage(Static&,~STM_SETIMAGE,0,bmp&)
waitkey
Aber, wenn ich das in eine Imagelist schicke, passiert nix. Kann man also auf ähnliche Weise ein Iconhandle bekommen oder muß ich das erst als Bitmap zwischenspeichern?
Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 06.09.2006 ▲ |
|
|
|
|
Sebastian König | Hallo Jörg,
eine Möglichkeit wäre dies hier (einfach nach dem EndPaint in Deinen Code einfügen): KompilierenMarkierenSeparieren Leider wird dabei die Größe automatisch reduziert, bei mir auf 32x32... Aber eigentlich müsste sich die Bitmap auch direkt in eine ImageList einfügen lassen - was genau geht denn da schief?
MfG
Sebastian |
|
|
| |
|
|
|
Jörg Sellmeyer | Danke, Sebastian! Das funktioniert. Wenn ich bmp& direkt an
Def @ImageList_AddIcon(2) !comctl32.dll,ImageList_AddIcon
übergebe, funktioniert es nicht. Dann ist kein Icon im Listview zu sehen. Mit Deinem Code geht es. Je nachdem wie ich die Imagelist dimensioniere ist auch das Icon entsprechend groß (auch größer als 32x32)
Gruß Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 06.09.2006 ▲ |
|
|
|
|
Sebastian König | Ich habe es jetzt nicht probiert, aber eigentlich müsstest Du hiermit auch direkt das Bitmap-Handle benutzen können:
int ImageList_Add( HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask ); [...] -- himl Handle to the image list. -- hbmImage Handle to the bitmap that contains the image or images. The number of images is inferred from the width of the bitmap. -- hbmMask Handle to the bitmap that contains the mask. If no mask is used with the image list, this parameter is ignored.
Vermutlich tut AddIcon nämlich nichts anderes, als die beiden Bitmaps wieder aus dem Icon zu besorgen und damit Add aufzurufen...
MfG
Sebastian |
|
|
| |
|
|
|
Jörg Sellmeyer | |
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 06.09.2006 ▲ |
|
|
|