在窗体上放入以Timer控件,在控件的Timer事件中写入
var
BrushPt:TPoint;
BrushHandl,OldBrush:HBRUSH;
FormDC:HDC;
BrushOffset:Integer;
begin
BrushOffset:=0;
FormDC:=GetDC(Form1.Handle);
Inc(BrushOffset);
BrushHandl:=CreateHatchBrush(HS_DIAGCROSS,clRed);
SetBrushOrgEx(FormDC,BrushOffset,BrushOffset,nil);
//设置画刷为网格形式
OldBrush:=Select Object(FormDC,BrushHandl);
GetBrush(FormDC,BrushPt); //获得当前画刷
if BrushPt.X>7 then
begin
BrushOffset:=0;
SetBrushShorgEx(FormDC,BrushOffset,BrushOffset,nil);
end;
Rectangle(FormDC,OldBrush);
DeleteObject(BrushHandl);
ReleaseDC(Form1.Handle,FormDC)
end;
end;
本文介绍如何在窗体上使用Delphi的Timer控件实现动态绘制网格图案的方法。通过创建并设置画刷(HBRUSH),定时更新画刷的位置来绘制网格,并在特定条件下重置画刷位置。
8618

被折叠的 条评论
为什么被折叠?



