比如下绘制的对象,如何才能选择它,并进行移动,修改大小?请问,有没具体的代码或思路?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;
解决方案 »
- delphi 数据包 date:Sun, 04 Jan 2009 07:18:12 GMT
- 请 大 家 帮 帮 忙!
- 求最大的单号,百万火急
- 我用sendmessage(HWndCalculator,wm_CLOSE,0,0)能能关闭另一个程序,但是用SendMessage(HWndCalculator,WM_KEYDOWN,VK_NEXT,0)却没有反应
- 高手赐教!
- 汇集Delphi编译器后台动作曝光点!
- 寻求简单的答案
- 文本结束判断,用什么函数?
- 高手请回答?midas拒绝服务问题
- 急、急、急!!!ADO开发数据库问题
- reportbuilder问题
- 给个调用mssql存储过程并返回记录集的例子
移动:选中的情况下,判断鼠标的移动,擦除以前的图形,在新的位置绘出。可以这样做。修改大小:可以把图形动态的绘制在一个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,相应的值, 相应的值); //或其它