Delphi动态创建的paintbox,绘制鼠标的十字跟随效果,

cumtxjb 2008-09-06 08:33:35
本人在paintbox中绘制了一条曲线,想实现如下效果:当鼠标在paintbox中时,鼠标形状要变成十字线(其中横线的长度为paintbox.width,竖线的长度为paintBox.Heitht,)当移动鼠标时,十字中心线只能沿着曲线移动,请问诸位高手是否能实现以上效果呢,该如何实现呢?还望不吝赐教!谢谢!
...全文
592 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacknes009 2008-09-22
  • 打赏
  • 举报
回复
大体意思应该是这样吧,呵呵。
jacknes009 2008-09-22
  • 打赏
  • 举报
回复
VCLSkin
盒子里有下载
http://www.2ccc.com/article.asp?articleid=1472
cumtxjb 2008-09-21
  • 打赏
  • 举报
回复
其实我的问题的关键是:鼠标跟随曲线移动,感觉也不难实现,设想如下:根据说采集的数据点进行数据的插值与拟合,比方说我们就做最简单的线性插值,相邻的两个点即一条直线,当鼠标移动时判断其X值在哪两个数据点之间,根据两点直线方程得出与X值相对应的Y值,将鼠标移动到这一点不就OK了?,欢迎诸位批评指教!
cumtxjb 2008-09-15
  • 打赏
  • 举报
回复
继续等待答案,可加到50分。
lihuasoft 2008-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cumtxjb 的回复:]
主要是这一点儿啊:鼠标十字中心如何才随着曲线移动啊?
[/Quote]

不好意思, 审题不认真, 没看到

问题复杂了.
帮顶.
cumtxjb 2008-09-07
  • 打赏
  • 举报
回复
主要是这一点儿啊:鼠标十字中心如何才随着曲线移动啊?
和海风 2008-09-06
  • 打赏
  • 举报
回复
D7.0中的DEMO下的CHART中有这样的例子

上面给的是主要代码,关键的自己参考完善一下就应该满足你的要求了
lihuasoft 2008-09-06
  • 打赏
  • 举报
回复
给你写个演示代码, 请自行完善一下:


var
OldX, OldY : integer;

procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
with Self.PaintBox1.Canvas do begin
MoveTo(OldX,0);
LineTo(OldX,PaintBox1.Height);
MoveTo(0,OldY);
LineTo(PaintBox1.Width,OldY);
OldX := X;
OldY := Y;
MoveTo(X,0);
LineTo(X,PaintBox1.Height);
MoveTo(0,Y);
LineTo(PaintBox1.Width,Y);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Self.PaintBox1.Canvas.Pen.Mode := pmNot;
Self.PaintBox1.Canvas.Brush.Style := bsClear;
end;

1,185

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧