Duilib中使用TeeChart Pro v8(or手动添加ActiveX控件)

作者: admin 分类: win32 发布时间: 2013-09-10 08:48 ė3,812 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)

作为一个方便大众的ActiveX控件,在C++中竟然只能在MFC被傻瓜式地操控是不对滴,而当这种专利居然在不引入afxwin.h和afxdisp.h的情况下都还要有所体现的时候,朕就hold不住了,誓要能死你个落伍的小玩意儿!

经过这两天的搏斗,朕在没有整过activeX这小b玩意儿的情况下还是收获了一些技巧,特此记录下来以便日后查看,也为苦于在C++中手动添加ActiveX时想摆脱mfc的小白们提供一些便利。
p.s. 当初在网上搜了半天都没有找到完整的一套操作步骤,对于朕这种小白来说入手起来真是太耽误时间了…

废话不多说,上正文 >>>

● 主要思想
用MFC加载ActiveX控件很简单,几步就弄好了,在面板上直接插入、设置属性、添加变量…反正几下就可以显示了,VS会直接生成啥啥头文件(cpp文件目录下)还有tlh、tli之类的文件(Debug文件夹中)。但在非MFC工程中无法以同样的方法自动引入控件来使用,因此我们引入MFC中生成好的.tlh和.tli文件,就可以使用控件中的各种属性和方法了。

● 下载安装TeeChart Pro ActiveX控件
慧都公司是TeeChart在国内的代理,慧都控件网上可以下载试用版和用户手册啥的,但是其可恨之处在于下载了试用版后,去TeeChart官网上申请序列号时网站慢得一比那啥,而且朕还是翻墙哟亲,不翻的话连卡的机会都木有哟亲,好不容易加载完界面,填完了信息后一提交便陷入无止尽的等待…朕只好转而用盗版了…TeeChart Pro v8还真不好找,全是CSDN上收3分5分的下载,后来下个v5的版本整了半天老崩溃(朕是win7 64位home版,IDE是vs2008)。

最后才发现其实下载下来安装完了无非就用到个.ocx文件,安装时顺便帮你注册了,还有就是安装后会自带很多MFC的例子,然后就没有然后了。于是果断只下载了个TeeChart v8的ocx文件(度娘一搜就有很多,还不用受50天试用限制哟亲)。

下载了.ocx文件了要在注册表里注册啊,简单啊,但正版的win7有时很2啊,直接运行cmd注册这玩意儿不好使啊,所以64位的win7童鞋,请打开您的C:\Windows\SysWOW64\,里面有个cmd.exe看到了伐,右键“以管理员身份运行”,然后在cmd里面输入“regsvr32 D:\TeeChart8.ocx”(绝对路径就行),这样就算注册完鸟,就可以在MFC里面找到这个ActiveX控件鸟~

● 在MFC中引入ActiveX控件,生成.tlh和.tli文件
(参照http://blog.csdn.net/boygrass/article/details/7482530)
新建MFC工程—-为工程添加一个新类,选择Categories下的MFC Class From TypeLib(这里很多人会选错成MFC Class From ActiveX Control) —- 选择从Registry(注册表)添加类,Available type libraries中选择TeeChart Pro ActiveX Control v8,从下面的接口选择中,选择需要用到的接口(可全选)—-资源视图在对话框上单击右键,选择Insert ActiveX Control,再选择TeeChart Pro ActiveX Control —- 对话框上出现了TeeChart控件,调整它的大小并把它移到合适的位置上,双击TeeChart控件,为控件添加一个Series
我这里选择Fast Line的Series —- 右键单击控件,Add Variable(添加变量),都使用默认设置,设置Variable name,我这里设为:m_tchartDemo —-在CXXXXXDlg类的构造函数中,把m_tchartDemo(0)去掉。并在XXXXDlg.cpp中添加#include “CTChart.h”。

好了,快编译吧快编译吧…在工程目录里的Debug文件夹下面找到teechart8.tlh和teechart8.tli,马上复制在手,咱走着~~MFC拜拜吧您肋~

● 在Duilib中使用TeeChart
把刚出炉的teechart8.tlh和teechart8.tli拷贝到duilib工程目录下,在VS中将teechart8.tlh添加到工程的头文件目录中,在使用控件的cpp中直接#include “teechart8.tlh”就能用鸟~需要注意的是teechart8.tlh里面引用teechart8.tli的路径需要改成当前teechart8.tli的路径。
顺便说下,xml中的clsid号是{BDEB0088-66F9-4A55-ABD2-0BF8DEEC1196},我下载的这个版本是这个clsid,如有雷同,纯属您跟我是同一版本,此外,IDD是IID_IDispatch,多说无益,.tlh有ActiveX控件的所有方法,用户手册里面也都挺全的。



只回答业务咨询点击这里给我发消息 点击这里给我发消息

王牌软件,兼职软件设计,软件修改,毕业设计。

本文出自 王牌软件,转载时请注明出处及相应链接。

本文永久链接: http://www.softwareace.cn/?p=562

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量