5,388
社区成员
发帖
与我相关
我的任务
分享
//如果对界面绘画要求不高,可以考虑用个计时器,设定一个小间隔,然后在timer事件中使用bitblt来绘画
//如果设为50ms一次,那么一秒钟也有20帧左右了。效果还是可以的,兄弟分少,楼主多给点。
procedure TFrmMain.TimerDrawTimer(Sender: TObject);
var
i: Integer;
begin
//用主界面图恢复软件界面
BitBlt(imgDraw.Canvas.Handle, 0, 0, 800, 600, imgMain.Canvas.Handle, 0, 0, SRCCOPY);
//把各控件画到 imgDraw上去。
drawControls1;
drawControls2;
drawControls3;
drawControls4;
drawControls5;
drawControls6;
//最后把 imgDraw 画到主画面上去
BitBlt(self.Canvas.Handle, iLeft, 0, 800, 600, imgDraw.Canvas.Handle, 0, 0, SRCCOPY);
end;