编程论坛
注册
登录
编程论坛
→
Delphi论坛
新手求助:如何动态实现画直线?
Evenchao
发布于 2013-03-14 21:20, 1362 次点击
如何动态实现画线功能。 如果在OnMouseDown中设置canvas.MoveTo(x, y);然后再OnMouseUp中设置Canvas.LineTo(x, y);则是在最后鼠标弹起的时候再把图片画出来,如何实现在能够把画直线的过程显示出来?
4 回复
#2
wp231957
2013-03-14 22:54
啥意思呢 难道设置一个进度条
#3
有容就大
2013-03-16 14:24
找windows编程看看
#4
Evenchao
2013-03-16 19:59
回复 3楼 有容就大
就是画一条直线,但是要像画板那样,直线可以随意拖动。而且在画的时候动态显示,而不是当鼠标弹起的时候,才显示出刚刚画的那条直线。不知道,这样说,你清楚了么!
#5
wenhu12
2013-03-25 11:53
var
Form1: TForm1;
a:Integer;
po:TPoint; //定义全局变量
implementation
{$R *.dfm}
procedure TForm1.img1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
a:=1;
po.X:=x;
po.y:=y;
end;
procedure TForm1.img1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if a=1 then
begin
img1.Canvas.Pen.Color:=clRed;
img1.Canvas.MoveTo(po.X,po.y);
img1.Canvas.LineTo(x,y);
po.X:=x ;
po.y:=y;
end;
end;
procedure TForm1.img1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
a:=0;
end;
1