![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как загрузить иконку в Bitmap.
Valera © (2008-05-11 08:18:00)Как загрузить иконку в PBitmap.
Valera (2008-05-11 19:37:00) [1]Спасибо. Это то что нужно..
Дмитрий К (2008-05-11 18:27:00) [2]
bmp: PBitmap; ico: PIcon;
...
bmp.Handle := ico.Convert2Bitmap(clFuchsia);
Compiler (2008-05-11 15:00:00) [3]> 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;
Compiler (2008-05-11 13:39:00) [4]
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;