Главная » Delphi » Win API » Загрука и отображение bitmap

Загрука и отображение bitmap

13:09
Sinus © (14.08.06 18:43)
необходимо загрузить битмап из ресурса ( я использовал LoadBitmap) и нарисовать (отобразить его на форме).
*************
DVM © (14.08.06 23:12)
Раз использовал, значит загрузил. HBITMAP получил?
DC окна, я полагаю, тоже имеется?

тогда как то так:

procedure DrawBitmap(dc: HDC; hBitmap: HBITMAP; xStart, yStart: integer); stdcall;
var
bm: BITMAP;
hdcMem: HDC;
ptSize, ptOrg: TPoint;
begin
if dc <> 0 then
begin
hdcMem := CreateCompatibleDC(dc);
if (hdcMem <> 0) and (hBitmap <> 0) then
begin
SelectObject(hdcMem, hBitmap);
SetMapMode(hdcMem, GetMapMode(dc));
GetObject(hBitmap, sizeof(BITMAP), @bm);
ptSize.x := bm.bmWidth;
ptSize.y := bm.bmHeight;
DPtoLP(dc, ptSize, 1);
ptOrg.x := 0;
ptOrg.y := 0;
DPtoLP(hdcMem, ptOrg, 1);
BitBlt(dc, xStart, yStart, ptSize.x, ptSize.y, hdcMem, ptOrg.x, ptOrg.y, SRCCOPY);
DeleteDC(hdcMem);
end;
end;
end;


http://www.delphimaster.ru/cgi-bin/forum.pl?id=1155566603&n=5