如何点击chart曲线上的点 获得该点的坐标值

fenjiaogouzh77076 2016-05-31 04:16:28
如题 chart 上有若干个点,这些点连接起来构成一条曲线,如何通过点击来获取 被点击的点的x y 值
...全文
2507 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
墨藍 2019-12-17
  • 打赏
  • 举报
回复 1
void CChartCtrl::OnLButtonDown(UINT nFlags, CPoint point) { SetCapture(); if (m_bZoomEnabled) { m_bLMouseDown = true; m_rectZoomArea.TopLeft() = point; m_rectZoomArea.BottomRight() = point; } if (m_PlottingRect.PtInRect(point)) { TCursorMap::iterator iter = m_mapCursors.begin(); for (iter; iter!=m_mapCursors.end(); iter++) iter->second->OnMouseButtonDown(point); Invalidate(); } /////添加 CString str; //string sstr= ("点下左键时,鼠标处于x=%d,y=%d的位置", point.x, point.y); //str = _T("点下左键时,鼠标处于x=%d,y=%d的位置", point.x, point.y); SendMouseEvent(CChartMouseListener::LButtonDown, point); CWnd::OnLButtonDown(nFlags, point); } CChart里面有个鼠标点击函数,里面的point.x, point.y就是鼠标点击的坐标,可以根据鼠标点击的位置与曲线位置之间进行换算得到曲线坐标
  • 打赏
  • 举报
回复
上面我说的,估计难点的就是得到当前鼠标的X值。这个你可以去查一查怎么得,只要得到了X值,剩下的就超级简单了。
  • 打赏
  • 举报
回复
我也只是给你提供一个思路,具体该怎么做你自己想。你需要在鼠标点击一个点时,得到XY,那么你就要让程序知道你鼠标点的是哪个点,所以,你就要去获取你鼠标当前的X值,然后得到点,再得到Y值。只是思路,不知道对你有没有用。或者有大神可以提供好回答。
引用 2 楼 fenjiaogouzh77076 的回复:
引用 1 楼 u010227555 的回复:
在界面获取鼠标的x值,跟你的日期对应,然后在曲线上取相应日期的y值。
不能直接选取点吗
fenjiaogouzh77076 2016-06-02
  • 打赏
  • 举报
回复
引用 1 楼 u010227555 的回复:
在界面获取鼠标的x值,跟你的日期对应,然后在曲线上取相应日期的y值。
不能直接选取点吗
  • 打赏
  • 举报
回复
在界面获取鼠标的x值,跟你的日期对应,然后在曲线上取相应日期的y值。

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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