function Ico2Bmp( Icone: TIcon ): TBitmap;
var
IconInfo: TIconInfo;
begin
GetIconInfo( Icone.Handle, IconInfo );
Result := TBitmap.Create;
with Result do
begin
PixelFormat := pfDevice;
Width := ( IconInfo.xHotspot * 2 );
Height := ( IconInfo.yHotspot * 2 );
Transparent := True;
TransparentMode := tmAuto;
Canvas.StretchDraw( Rect( 0, 0, Width, Height ), Icone );
end;
end;
function Bmp2Ico( Bitmap: TBitmap ): TIcon;
var
IconInfo: TIconInfo;
begin
IconInfo.fIcon := true;
IconInfo.xHotspot := Bitmap.Width;
IconInfo.yHotspot := Bitmap.Height;
IconInfo.hbmColor := Bitmap.Handle;
IconInfo.hbmMask := Bitmap.MaskHandle;
Result := TIcon.Create;
with Result do
Handle := CreateIconIndirect( IconInfo );
end;