比如下绘制的对象,如何才能选择它,并进行移动,修改大小?请问,有没具体的代码或思路?procedure TForm1.whRuler1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image1.Canvas.Pen.Style:=psSolid;
image1.Canvas.Pen.Color:=clred;
image1.Canvas.Pen.Width:=1;
image1.Canvas.Brush.Style := bsClear;
image1.Canvas.Ellipse(fx,fy,x,y)
end;
Shift: TShiftState; X, Y: Integer);
begin
image1.Canvas.Pen.Style:=psSolid;
image1.Canvas.Pen.Color:=clred;
image1.Canvas.Pen.Width:=1;
image1.Canvas.Brush.Style := bsClear;
image1.Canvas.Ellipse(fx,fy,x,y)
end;
移动:选中的情况下,判断鼠标的移动,擦除以前的图形,在新的位置绘出。可以这样做。修改大小:可以把图形动态的绘制在一个canvas上,在拖动canvas的时候修改图形大小
用google搜索一下”Delphi 矢量图 源码“可能会找到一些源代码参考。
Shift: TShiftState; X, Y: Integer);
begin
image1.Canvas.Pen.Style:=psSolid;
image1.Canvas.Pen.Color:=clred;
image1.Canvas.Pen.Width:=1;
image1.Canvas.Brush.Style := bsClear;
image1.Canvas.Ellipse(fx,fy,x,y)
end;//简单的模拟拖动
mouse down先记录入down点, OldPoint.X := X; OldPoint.Y :=Y;
mouse up后, NewPont.X := X; NewPoint.Y := Y;x/y轴: NewPoint.X-OldPoint.X
NewPoint.Y-NewPoint.Y; 1 image1.Canvas.Ellipse(fx,fy,相应的值, 相应的值); //或其它