我试了一下,在onpaint下一般的,比如:paintbox1.canvas.move(x,y);paintbox1.canvas.lineto(x,y);
还是可以的,可是我想在里面画线就不行了(做画板的那种),比如: paintbox1.Canvas.MoveTo(0,0);
paintbox1.Canvas.LineTo(200,200);
For i:=0 to LineList.Count-1 do
begin
paintbox1.Canvas.Brush.Color:=Color;
Line:=LineList[i];
paintbox1.Canvas.Polyline(Line.PointList);//画每一条线对象.
if Line.Selected then
begin
paintbox1.Canvas.Brush.Color:=clRed;
For j:=0 to High(Line.PointList) do
begin
p:=Line.PointList[j];
paintbox1.Canvas.FillRect(Rect(P.X-2,P.Y-2,P.x+2,P.Y+2));
end;
end;
end;
if FOperatorType=otDrawLine then
begin
if High(FPointList)>=1 then
paintbox1.Canvas.Polyline(FPointList);//如果正在画线,则把未完成的线也画出来.