Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

Как загрузить иконку в Bitmap.   Найти похожие ветки 

 
Valera   (2008-05-11 08:18) [0]

Как загрузить иконку в PBitmap.


 
Compiler ©   (2008-05-11 13:39) [1]

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 ©   (2008-05-11 15:00) [2]

> 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;


 
Дмитрий К ©   (2008-05-11 18:27) [3]

bmp: PBitmap; ico: PIcon;
...
bmp.Handle := ico.Convert2Bitmap(clFuchsia);


 
Valera   (2008-05-11 19:37) [4]

Спасибо. Это то что нужно..



Страницы: 1 вся ветка

Текущий архив: 2010.01.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1258022912
Kolan
2009-11-12 13:48
2010.01.17
Автозапуск программы


8-1200143658
452
2008-01-12 16:14
2010.01.17
Как вывести текст в центре Canvas по вертикали и горизонтали?


6-1211624068
Funtic12
2008-05-24 14:14
2010.01.17
Socket Broadcast - максимальный размер дейтаграммы


11-1210547429
Valera
2008-05-12 03:10
2010.01.17
Как отлавить сообщение мышки за окном?


15-1258119591
Piter
2009-11-13 16:39
2010.01.17
Кризис и преступность