2011/7/15 cobines <cobi...@gmail.com>: > Also a question: > Why TIcon always has Masked=True? > > Icons with alpha channel don't work properly with TIcon and they don't > use Mask. Is support for alpha channel icons simply not implemented?
More question related to this. In function TWin32WidgetSet.RawImage_FromBitmap(out ARawImage: TRawImage; ABitmap, AMask: HBITMAP; ARect: PRect = nil): Boolean; there is code: if ASize < SizeOf(WinDIB) then ARawImage.Description.AlphaPrec := 0; It seems that TIconInfo.HBITMAP handle (which in my case is a default system folder icon) has not been created with CreateDIBSection therefore GetObject returns plain HBITMAP and not DIBSECTION and the code above disables alpha channel. However, when I remove that code icons with alpha channel are displayed properly. AlphaPrec=8, pixelFormat is pf32bit. Masked=True but that doesn't seem to matter. The code was added in http://svn.freepascal.org/cgi-bin/viewvc.cgi?view=rev&root=lazarus&revision=13314 and fixed bug http://bugs.freepascal.org/view.php?id=10299 I don't understand why it says: "if it is not DIB then alpha in bitmaps is not supported => use 0 alpha prec" since it seems HICON bitmaps is not DIB but it has alpha channel. -- cobines -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus