NI控件之-CWGraph数据捕捉概要1.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NI控件之-CWGraph数据捕捉概要1

前面介绍了NI控件和它的绘图控件CWGraph绘图功能,由于COM版本的只能显示,不能在控件上做其他操作,所以一些常用的功能如获取距离鼠标最近点的数据点就需要自己实现。以捕捉最近点为例:分析:在绘图的时候一般传入X、Y轴数据,X、Y数据都是同等长度的一维数组,捕捉功能也是再这些数据上做文章,数据有了,只需要对数据进行分析就可以了。根据传入的捕捉点和数组进行分析后,适当的移动鼠标光标当前位置,就可以实现捕捉功能了。这只是一般情况,当然还有特殊情况,比如,在用PlotY()添加数据,这时候只有Y轴数据而没有X轴数据,如何捕捉呢?仔细想想---由于数据都绘图都是一句坐标系绘制的,而我们知道X轴的起始终止坐标值,这样把X轴依据Y轴数据长度等份分成一个数组,这样就可以得到X轴数据,同样可以得到最近值-----实现:其主要部分就在于计算。下面是一个写好的捕捉类/* * 自动捕捉类,捕捉附近点 * 只有XY坐标 * */ public class SnapNearPoint { #region 字段 private Listdouble m_XData =null;//X轴数据 private Listdouble m_YData =null;//Y轴数据 private double m_XRadio = 0.0;//X方向捕捉半径长度 private double m_YRadio = 0.0;//Y方向捕捉半径长度 private int _SelectIndex = -1;//捕捉到最近点的索引 private SnapMode _Mode =SnapMode.XAndY;//捕捉方式 #endregion #region 属性 //summary // 设置获取绑定X数据 // /summary public Listdouble BindXData { set { m_XData = value; } get { return m_XData; } } /// summary /// 设置获取绑定Y数据 /// /summary public Listdouble BindYData { set { m_YData = value; } get { return m_YData; } } /// summary /// 获取捕捉到数据索引 /// /summary public int SelectIndex { get { return _SelectIndex; } } /// summary /// 获取或设置捕捉点方式 /// /summary public SnapMode Mode { set { _Mode = value; } get { return _Mode; } } #endregion #region 构造函数、捕捉方法 /// summary /// 构造函数 /// /summary /// paramname=XRadioX捕捉长度/param /// param name=YRadioY捕捉长度/param public SnapNearPoint(double XRadio,double YRadio) { m_XRadio = XRadio; m_YRadio = YRadio; } /// summary /// 获取最近点 /// /summary /// param name=Searchx用于捕捉最近点的鼠标点X/param /// paramname=Searchy鼠标点Y/param /// paramname=Returnx返回捕捉到的点X轴坐标值/param /// pa

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档