I am having the following problem:
1. I receive the icon handle using the SHGetFileInfo() API.
2. I create the instance of the GDI+ bitmap class based on that icon handle.
3. Subsequently I use that bitmap for drawing to the GDI+ canvas.
Under Windows 2000 where the icons do not have any alpha-blending support,
everything works fine.
Under XP where the icons have the alpha-blending support, the final drawing
look crappy (especially the icon shadows look terrible). It seems, that the
alpha channel of the icon was damaged by the transfre from shell to my
application via SHGetFileInfo().
Any ideas would be appreciated.
The fragment of my (Delphi) code:
SHGFI_ICON or SHGFI_LARGEICON or SHGFI_OPENICON
BGpIcon := TGPBitmap.Create(BFI.hIcon);
MakeRect(0.0, 0.0, Skin.ImageSize, Skin.ImageSize),
0.0, 0.0, BGpIcon.GetWidth, BGpIcon.GetHeight,