F
frankxu
Unregistered / Unconfirmed
GUEST, unregistred user!
小弟最近研究怎样编写图形控件过程中对下面这段代码不是很明白,大家帮忙分析一下!
procedure TParView.DrawFast;
var
destdc, memdc: HDC; bm, sbm: HBITMAP;
begin
destdc := Canvas.Handle;
memdc := CreateCompatibleDC(destdc);
bm := CreateCompatibleBitmap(destdc, Width, Height);
sbm := SelectObject(memdc, bm);
Canvas.Handle := memdc;
Draw;//画图形的函数
BitBlt(destdc,0,0, Width,Height, memdc,0,0, SRCCOPY);
SelectObject(memdc, sbm);
DeleteObject(bm);
Canvas.Handle := destdc;
DeleteDC(memdc);
end;
这个函数作用好象是能够快速重画canvas上的图形(图形在不断变化)!
因为没有什么注解说明,小弟不是很明白这段代码的具体作用是什么,它又是如何实现的,还请高人多多指点!
procedure TParView.DrawFast;
var
destdc, memdc: HDC; bm, sbm: HBITMAP;
begin
destdc := Canvas.Handle;
memdc := CreateCompatibleDC(destdc);
bm := CreateCompatibleBitmap(destdc, Width, Height);
sbm := SelectObject(memdc, bm);
Canvas.Handle := memdc;
Draw;//画图形的函数
BitBlt(destdc,0,0, Width,Height, memdc,0,0, SRCCOPY);
SelectObject(memdc, sbm);
DeleteObject(bm);
Canvas.Handle := destdc;
DeleteDC(memdc);
end;
这个函数作用好象是能够快速重画canvas上的图形(图形在不断变化)!
因为没有什么注解说明,小弟不是很明白这段代码的具体作用是什么,它又是如何实现的,还请高人多多指点!