-
Valera (11.05.08 08:18) [0]Как загрузить иконку в PBitmap.
-
var
SDC, DDC: HDC;
hBMP: HBitmap;
TheBitmap:Pbitmap;
iINFO: TICONINFO;
begin
GetIconInfo(Applet.Icon, iinfo);
SDC := CreateCompatibleDC(form.canvas.Handle);
DDC := CreateCompatibleDC(form.canvas.Handle);
hBMP := SelectObject(DDC, iinfo.hbmColor);
hBMP := SelectObject(SDC, iinfo.hbmMask);
TheBitmap:=NewBitmap(0,0);
BitBlt(DDC, 0, 0, 32, 32, SDC, 0, 0, SRCPAINT);
TheBitmap.handle := SelectObject(DDC, hBMP);
DeleteDC(DDC);
DeleteDC(SDC);
//TheBitmap.Draw(Form.Canvas.Handle,0,0);
TheBitmap.Free;
end; -
> Compiler © (11.05.08 13:39) [1]
Нехороший код ;-)
Этот лучше
var
TheBitmap:Pbitmap;
DC,ODC:hDC;
begin
TheBitmap:=NewBitmap(16,16);
DC:=CreateCompatibleDC(0);
oDC:=SelectObject(DC,TheBitmap.Handle);
DrawIconEx(DC,0,0,LoadIcon(hinstance,'MAINICON'),
TheBitmap.Width,TheBitmap.Height,0,CreateSolidBrush(ClWhite),DI_IMAGE);
SelectObject(ODC,TheBitmap.Handle);
DeleteObject(DC);
TheBitmap.Draw(form.canvas.Handle,0,0);
TheBitmap.Free;
end; -
Дмитрий К © (11.05.08 18:27) [3]bmp: PBitmap; ico: PIcon;
...
bmp.Handle := ico.Convert2Bitmap(clFuchsia); -
Valera (11.05.08 19:37) [4]Спасибо. Это то что нужно..