十步会用IOCOMP–iplotx控件

1、 新建项目-MFC-基于对话框
2、 插入ActiveX控件-选择iPlotX Control
3、右击该控件,添加变量,输入变量名
4、类向导-(Dlg结尾那个类)添加函数-IplotxInit(用于该控件基本参数设置)
5、在Dlg.cpp中开头处添加以下代码:

#import  "iPlotLibrary.tlb" named_guids
#include "atlbase.h"
using namespace iPlotLibrary;
CComPtr<iPlotLibrary::IiPlotX> PlotComponent;

6、在函数IplotxInit()中添加以下代码:

CWnd* pPlotWnd = GetDlgItem(IDC_IPLOTX1);IUnknown*  m_iUnknown;//Get iDispatch Inteface to Plot Componentm_iUnknown = pPlotWnd->GetControlUnknown();m_iUnknown->QueryInterface(__uuidof(iPlotLibrary::IiPlotX), (LPVOID*)&PlotComponent);//Setup ChannelsPlotComponent->RemoveAllChannels();PlotComponent->AddChannel();PlotComponent->AddChannel();PlotComponent->AddChannel();PlotComponent->AddChannel();PlotComponent->AddChannel();PlotComponent->AddChannel();PlotComponent->XAxis[0]->Span = 5;PlotComponent->Labels[0]->Caption = "曲线图";PlotComponent->GetChannel(0)->TitleText = "曲线1";PlotComponent->GetChannel(1)->TitleText = "曲线2";PlotComponent->GetChannel(2)->TitleText = "曲线3";PlotComponent->GetChannel(3)->TitleText = "曲线4";PlotComponent->GetChannel(4)->TitleText = "曲线5";PlotComponent->GetChannel(5)->TitleText = "曲线6";

7、类向导-添加消息处理函数OnTimer();
8、在OnInitDialog()函数return TRUE前添加以下代码:

    IplotxInit();SetTimer(1, 10, NULL);

9、在函数OnTimer();中添加以下函数:

    static float i = 10;PlotComponent->GetChannel(0)->AddYElapsedSeconds(40*sin(0.01*i));//AddYNow((int)i);PlotComponent->GetChannel(1)->AddYElapsedSeconds(40 * cos(0.01*i));//AddYNow((int)i);PlotComponent->GetChannel(2)->AddYElapsedSeconds(40 * sin(0.01*i + 1));//AddYNow((int)i);PlotComponent->GetChannel(3)->AddYElapsedSeconds(40 * cos(0.01*i + 1));//AddYNow((int)i);PlotComponent->GetChannel(4)->AddYElapsedSeconds(40 * sin(0.01*i + 2));PlotComponent->GetChannel(5)->AddYElapsedSeconds(40 * cos(0.01*i + 2));i++;i++;i++;

10、按F5键。
效果图:

源码下载:http://download.csdn.net/detail/cracent/9794944

十步会用IOCOMP–iplotx控件相关推荐

  1. 一步一步实现自己的模拟控件(6)——控件树及控件区域

    控件树 一步一步实现自己的模拟控件(1)中的图上我们可以看到,我们的控件体系其实就是一个控件树.每一个窗口关联一个根控件,所有控件都在这个根控件之下,父控件包容并管理子控件,那么我们的Widget就应 ...

  2. 一步一步实现自己的模拟控件(9)——消息处理

    这次我们将要给Widget增加一些状态,并使其能够接受出消息处理扩展,测试工程中实现了一个按钮的消息处理扩展. Widget状态: 之前的控件只是绘制了一个边框,并且总是会在窗口中显示.实际上我们往往 ...

  3. 一步一步实现自己的模拟控件(5)——隐藏类

    隐藏驱动类: 为了让用户有更简单的使用接口,我们需要把不必要的东西进行一定的隐藏.前面我就提到WidgetDriver对于用户来说是不关心的东西,那么我们就将其进行隐藏. 方案1: 将WidgetDr ...

  4. Android 第十八课 强大的滚动控件 RecyclerView

    步骤: 一.添加依赖库 compile'com.android.support:recyclerview-v7:26.1.0' 二.在activity_mian.xml中,添加RecyclerView ...

  5. 推荐爱码哥移动开发平台十大常用的原生UI控件

    imag.js是一种NativeScript形式的框架,它兼具 Web 应用的灵活和 Native 应用的高性能,可以使用 JavaScript 来开发 iOS 和 Android 原生应用.在 Ja ...

  6. 十六、C# 表格数据控件

    初始DataGridView DataGridView控件提供了一种强大而灵活的以表格形式显示数据的方式.用户可以使用DataGridView控件来显示少量数据的只读视图,也可以对齐进行缩放以显示特大 ...

  7. UGUI学习笔记(十二)自制血条控件

    一.效果展示 二.实现过程 2.1 准备工作 首先在场景中使用「Image」创建如下结构并命名为「LifeBar」.需要注意的是内部的「Image」都需要将锚点设置到最左侧,高度设置为自适应.在父元素 ...

  8. Android实战简易教程-第五十一枪(ListView实现子控件的动态显示和隐藏、checkbox全选和反选)

    前段时间写过一篇文章:Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)有的同学留言建议,可不可以动态控制checkbox的显示和全选反选功能,我研究了一下,发现实现也比较容 ...

  9. Qt笔记(五十六)之网页调用Activate控件

    一.前言 Qt开发的Activate控件可以用网页来盗用,但是只能IE来装载 二.调用流程 1.注册Activate组件 win+r调出命令行界面,切换到组件的的目录下,然后输入regsvr32 Ac ...

最新文章

  1. vue缓存页面【二】
  2. HTML学习笔记_004_分段与换行
  3. ifconfig,netstat 命令找不到解決办法
  4. java 基本类型 引用_java中 引用类型 和 基本类型 有何区别?
  5. Objective-C 深复制和浅复制与NSCopying协议
  6. mysql: order by, group by ,having, select, where 执行 顺序
  7. mac下nvm_【干货分享】Mac最全用法指导,学不会学费全退!!!(反正我也没收你们学费)...
  8. 【原创】轻量级移动端即时通讯技术 MobileIMSDK 发布了
  9. [MySQL]--查询性能分析工具-explain关键字
  10. 推荐模型之:跨会话信息感知的推荐模型探索与实践
  11. 运筹学 matlab实现单纯形法
  12. zabbix为啥持续报警
  13. PHP学习之SAPI
  14. 安卓手机怎么删除html文件,安卓手机如何打开和删除7z文件?
  15. vue3的组件传递之子传父(项目实操)
  16. 解决:The ‘Access-Control-Allow-Origin‘ header contains___Nginx跨域设置
  17. 【C++】 strcat()函数
  18. JavaWeb 购物车项目
  19. 制作自己的ctpn数据集
  20. vue-cli树形结构/组织结构

热门文章

  1. oracle数据库报错1033,ORACLE出现错误1033和错误ORA-00600的解决方法
  2. 显示12306服务器处理中正在排队,12306排队等待中怎么回事_12306排队等待时间_12306一直在排队解决方法...
  3. 生物冰箱智能锁有哪些功能
  4. 2.6 zio入门——对比Future
  5. Derivation of Linear Regression with Multiple Variables
  6. 连接板卡的时候,如何避免每次都设置ip
  7. 软件测试——linux基础
  8. 机房动环监控系统有哪些告警功能,机房动环监控系统是什么?
  9. 遍历所有点的最短路径python_图遍历算法之最短路径Dijkstra算法
  10. storm the 少儿英语_storm是什么意思_storm在线翻译_英语_读音_用法_例句_海词词典...