云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > NI控件之-CWGraph数据捕捉

NI控件之-CWGraph数据捕捉

  • 62 次阅读
  • 3 次下载
  • 2026/4/24 11:01:41

FirstCal_Margin = true; }

OnMouseMoveHelp(e.x, e.y); }

protected double_PlotXPosition = 0.0;//捕鼠标在绘图控件上对应的X坐标值 protected double _PlotYPosition = 0.0;// 鼠标在绘图控件上对应的Y坐标值 CWPlotm_Default_Plot=null;绘图图层 Bool IsStart=false;//标识是否开始绘图

protected SnapNearPoint snap = null;//捕捉点类

protected CWCursor m_Default_Cursor = null;//默认鼠标 protectedvoid OnMouseMoveHelp(int x,int y) {

try {

_PlotXPosition=Convert.ToDouble(_widthMap)/ (Convert.ToDouble(m_Default_Plot.XAxis.Maximum)

-Convert.ToDouble(m_Default_Plot.XAxis.Minimum));//计算刻度的像素值 _PlotYPosition=Convert.ToDouble(_heightMap)/ (Convert.ToDouble(m_Default_Plot.YAxis.Maximum)-

Convert.ToDouble(m_Default_Plot.YAxis.Minimum));//用Y轴高度除Y轴坐标起始值差得到Y轴的刻度最小单位长度

_PlotXPosition =Convert.ToDouble(m_Default_Plot.XAxis.Minimum) + ((x - _leftMap) /_PlotXPosition);//反推长度\\刻度确定当前鼠标点对应的Y轴坐标值

_PlotYPosition =Convert.ToDouble(m_Default_Plot.YAxis.Minimum) - ((y - _topMap - _heightMap) /_PlotYPosition); if (!IsStart) {

this.Cursor =System.Windows.Forms.Cursors.SizeAll;

m_Default_Cursor.XPosition =_PlotXPosition;//设置光标样式 m_Default_Cursor.YPosition= _PlotYPosition; } else {

this.Cursor =System.Windows.Forms.Cursors.Arrow; }

if (m_YData != null &&m_XData != null && snap != null) {

snap.BindXData = m_XData; snap.BindYData = m_YData; StartSnap();

m_Default_Cursor.XPosition= MouseCenterFreq_X + _XMove; m_Default_Cursor.YPosition= MouseCenterFreq_Y + _YMove; } }

catch (Exception ex) {

LoggingUtility.ErrorInfo(ex); } }

protected double MouseCenterFreq_X =0.0;//捕捉到的点的X坐标 protected double MouseCenterFreq_Y =0.0;//捕捉到最近点的Y坐标 ///

/// 开始捕捉点 ///

protected void StartSnap() {

if (snap.BindXData.Count >= 1) {

snap.GetNearPoint(_PlotXPosition, _PlotYPosition, ref MouseCenterFreq_X,ref MouseCenterFreq_Y); if (snap.SelectIndex != -1) {

SelFreqIndex =snap.SelectIndex;

//GetNearPoint(MouseCenterFreq_X, MouseCenterFreq_Y); //激发事件 用在外部调用时候用事件接受捕捉点,可用可不用 } } }

//public delegate voidGetNearPointEventHandle(double x, double y);//捕捉点委托

//public event GetNearPointEventHandleOnGetNearPoint; ///

/// 用来激发捕捉到最近点的事件 ///

///

//protected void GetNearPoint(double x,double y) //{

// if (OnGetNearPoint != null) // {

// OnGetNearPoint(x, y); // } // }

附加一张效果图吧:光标定位地区就是捕捉到的点值,左上角显示的是数值。 主要计算偏多,思路很简单。代码也比较多,看起来比较繁琐。。。。

搜索更多关于: NI控件之-CWGraph数据捕捉 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

FirstCal_Margin = true; } OnMouseMoveHelp(e.x, e.y); } protected double_PlotXPosition = 0.0;//捕鼠标在绘图控件上对应的X坐标值 protected double _PlotYPosition = 0.0;// 鼠标在绘图控件上对应的Y坐标值 CWPlotm_Default_Plot=null;绘图图层 Bool IsStart=false;//标识是否开始绘图 protected SnapNearPoint snap = null;//捕捉点类 protected CWCursor m_

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com