VC6环境下使用图形控件NTGraph的方法和步骤

源出处:http://www.codeproject.com/KB/miscctrl/ntgraph_activex.aspx

先看看NTGraph控件的运行效果吧,如下图。感觉效果挺不错的,主要是接口函数非常简单,只需要调用几个函数就能实现我们需要的功能,可谓功能强大了。

主要还是基于VC6环境,对开发上位机的朋友来说是个不错的工具。

首先注册控件。点击开始->运行,然后输入regsvr32 /u NTGraph.ocx/u是控件路径),点确定。

接下来打开VC6,新建一个基于对话框的工程,工程名为CNTGraph_Test,将默认的控件删除,然后在对话框上点击右键,选择Insert ActiveX Control,如下图:

在打开的窗口中选择NTGraph Control(就是我们之前注册的控件),点OK。如下图:

控件已加载进来,如下图示:

接下来根据需要来修改一些属性,见下图,我只修改了frame(改变空间显示风格)、Show Grid(显示网格)两项,当然不修改属性或者在程序里修改都行。

接下来给控件添加一个对象,这个对象可以访问NTGraph类中的成员函数。

点击菜单栏上的view->ClassWizard->Member Variables,然后选择IDC_NTGRAPHCTRL,点击Add Variable给它添加一个变量m_Graph,这时会出现如下图对话框,点击确定就可以了。

经以上添加变量成功之后,控件会自动给我们添加3个类,如下图示。这三个类给我们提供了许多函数接口,只需要看函数名即可知道这些函数的功能了。

到此控件的添加和设置就完成了,接下来即可在程序里调用相关函数来实现我们想要的功能了。

将以下这些代码贴到OnInitDialog()函数里面就OK啦。

m_Graph.ClearGraph(); // The Element [0] is allocated by default m_Graph.SetElementLineColor(RGB(125,255,0)); // Add the second graph element m_Graph.AddElement(); m_Graph.SetElementLineColor(RGB(255,255,0)); m_Graph.SetElementIdentify(FALSE); m_Graph.SetShowGrid(TRUE); m_Graph.SetXGridNumber(20);//设置X轴等分点数,即网格宽度(注意和函数SetRange()的关系) m_Graph.SetYGridNumber(20);//设置Y轴等分点数 m_Graph.SetCaption("超好用的图形控件");//设置标题 m_Graph.SetXLabel("X轴");//设置横轴名称 m_Graph.SetYLabel("Y轴");//设置纵轴名称 m_Graph.SetRange (0,100,-50,50);//设置横轴和纵轴的范围,前两位是横轴,后两位是纵轴 for(float x = 0;x<100;x+=0.1) //这是我自己写的代码,用于显示一个正弦波 { m_Graph.PlotXY(x, 10*sin(x), 0); } for(int xx = 0;xx<1000;xx+=10) //这是我自己写的代码,用于显示一个三角波 { if(xx/10%2) m_Graph.PlotXY(xx, 20, 1); else m_Graph.PlotXY(xx, 40, 1); }

然后编译,执行,运行效果图:

总结:一步一步的按照以上步骤来设置,即可完成一个简单的应用程序了,相对来说过程非常简单,只需初始化一次控件,然后在需要的地方调用GraphPlotXY()函数就可以实现图形的显示了。还可以在程序里动态的改变量程,只需调用SetRange()。

还有好多函数都没有用到,这里只是简单的演示了一个功能,具体的用法和扩展功能请参考上面列出的网页和作者的演示工程代码。

感谢这位老外作者提供的控件和源码。

--END--

VC6环境下使用图形控件NTGraph的方法和步骤相关推荐

  1. Win7环境下MSCOMM32.OCX控件的使用

    作者:iamlaosong 以前曾做个稽核重量的称重拍照软件,现在有部门要使用,说是用不起来,只好再捡起来试用一下. 试用发现Win7环境下串口无法使用(Error 8015---Could Not ...

  2. .NET下的验证码控件John.Controls.ValidateCode2V for .NET beta1

    预告下一个作品是选项卡John.Controls.TabularMultiView for .NET(难产ing,由于最近要处理的事情很多,身体上也有点不支,发布时间推迟) 注册了帐号好几久,都没发过 ...

  3. 如何在 Cell 组件/插件中添加下拉树形控件

    引言 用友华表Cell控件在提供强大的报表功能的同时,在关键细节也是十分突出,为开发者进一步缩短开发周期和最终用 户的完美需求提供了有效有利的平台.下面的例子提供了VB语言对实现美观实用的下拉树形控件 ...

  4. 【计算机图形学】实验:C#.net环境下的图形变换完整实验操作流程

    一.实验目的: 熟练掌握在.net环境下对图形的变换方法. 二.实验准备: 学习图形变换的基本算法,如平移.旋转.缩放等,以及在.net环境下变换图形的基本方法. 三.实验内容: 在.net环境中利用 ...

  5. 多比图形控件教程:基于Flex/Javascript的网页绘图控件

    2019独角兽企业重金招聘Python工程师标准>>> 1.概述 多比矢量图控件是一个在Web上绘图的组件,适用于需要在网页中/编辑流程图.图表.网络图和普通矢量图形的Web应用程序 ...

  6. PB的Graph图形控件

    Graph图形控件 [其他] ■轴 类型轴--Category--String型.数值型.Date型.Datetime型和Time型 值轴--Value--数值型.Date型.Datatime型和Ti ...

  7. PB控件:Graph图形控件

    Graph图形控件 [其他] ■轴 类型轴--Category--String型.数值型.Date型.Datetime型和Time型 值轴--Value--数值型.Date型.Datatime型和Ti ...

  8. VC6开发视频监控ActiveX控件总结

    总结前段时间在VC6下使用MFC开发视频监控控件过程中遇到的一些问题. 1.获取控件当前所在路径,用于读取该目录下的INI配置文件 获取配置文件路径 2.获取当前运行控件的电脑上的固定盘符列表,用于本 ...

  9. trackbar控件显示刻度值_安卓自定义电平流图形控件

    引言 在无线电监测方面,需要对信号进行展示,其中一项数据就是设备返回的电平数据,需要对其实时展示,一图胜千言,最好且最直观的方式就是图表展示,这样对其信号强弱的变化,就可以一目了然. 本文主要讲安卓版 ...

最新文章

  1. 如何在Python中声明一个数组?
  2. Python 2 和 3 的区别及兼容技巧
  3. 关于数据库内“表”的几点
  4. boost::graph模块实现在无向图上使用连通分量算法
  5. mysql触发器学习的一个小错误
  6. THINKPHP3.2+PHP5.3 配置MEMCACHE
  7. 冒泡排序和选择排序的JAVA程序
  8. 西门子STEP7、博图里的数据块(DB)编址规则
  9. 如何在python中实现capl语言里的回调函数
  10. 用户访谈与问卷调查怎么做
  11. 笔记本如何正确安装对应显卡驱动
  12. java发微信字体颜色_java微信公众号发送消息模板
  13. python 日期 格式转换 英文_python中各种时间格式的转换
  14. 常见404与500错误及含义
  15. MT管理系去弹窗【失败】
  16. mysql with ties_SQL SERVER使用WITH TIES获取前几行数据
  17. python代码完成Fisher判别
  18. tickeys 1.1.0 中文版 (键盘打字音效模拟)
  19. RPM软件包和YUM软件仓库的实例
  20. tiny core linux网络连接,用Tiny Core Linux打造纯Firefox上网系统(概要)

热门文章

  1. 军用软件概算计价规范_军用软件概算计价规范_关于举办军用软件功能点分析及计价规范讲解与交流会的通知......
  2. 马云、马化腾、李彦宏齐聚智博会,演讲内容亮点看这里
  3. fctix 中文输入法如何翻页
  4. 我们用48h,合作创造了一款Web游戏:Dice Crush,参加国际赛事Game Jam
  5. 分享玄学硬件调试问题
  6. linux下u盘copy很慢,电脑复制文件到内存慢_电脑传文件到u盘很慢
  7. 微信小程序获取实时定位(记录)
  8. Matlab函数trainingOptions参数解析
  9. 【工具推荐】Eclipse 注释/取消注释 快捷键
  10. Axure Axhub Charts 数据编辑、显示