M
mymy
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
i,area:integer;
begin
area:=0;
if _end=false then
begin
if button=mbleft then//是否是鼠标左键按下
begin
SetLength(headpoint,pointcount);//动态分配数组的大小
headpoint[pointcount-1]:=point(x,y);
if pointcount=1 then //移动画笔的初始点
Canvas.MoveTo(headpoint[0].x,headpoint[0].y)
else
Canvas.MoveTo(headpoint[pointcount-2].x,headpoint[pointcount-2].y);
Canvas.Pen.Color:=clred;//画笔颜色
Canvas.LineTo(x,y); //绘制直线
inc(pointcount); //增加顶点个数
end
else begin //右键按下
headpoint[pointcount]:=headpoint[0];//形成封闭的多边形
Canvas.Polyline(headpoint);//绘制边线
Canvas.Polygon(headpoint); //填充多边形
_end:=true;//停止绘制
end;
end;
end;
// pointcount是顶点的个数,headpoint:array of Tpoint;
Shift: TShiftState; X, Y: Integer);
var
i,area:integer;
begin
area:=0;
if _end=false then
begin
if button=mbleft then//是否是鼠标左键按下
begin
SetLength(headpoint,pointcount);//动态分配数组的大小
headpoint[pointcount-1]:=point(x,y);
if pointcount=1 then //移动画笔的初始点
Canvas.MoveTo(headpoint[0].x,headpoint[0].y)
else
Canvas.MoveTo(headpoint[pointcount-2].x,headpoint[pointcount-2].y);
Canvas.Pen.Color:=clred;//画笔颜色
Canvas.LineTo(x,y); //绘制直线
inc(pointcount); //增加顶点个数
end
else begin //右键按下
headpoint[pointcount]:=headpoint[0];//形成封闭的多边形
Canvas.Polyline(headpoint);//绘制边线
Canvas.Polygon(headpoint); //填充多边形
_end:=true;//停止绘制
end;
end;
end;
// pointcount是顶点的个数,headpoint:array of Tpoint;