mschart在VS2005下的使用

    一点小经验,与大家分享:)

    前一段因为要在VS2005下画直方图和折线图,所以想到用mschart这个控件。在VC6下用过mschart的朋友应该知道在VC6下添加了mschart控件后会生成很多已经封装好的类,这时我们可以简单的调用封装好的函数实现画图功能,但是在VS2005下添加了mschart控件后只出现mschart1一个类,原来的函数名发生了变化,且很多函数都不能直接调用,需要往里边填很多参数,让人很郁闷。我试图上网查在VS2005下mschart的使用,但发现没有人提到应该怎么用。在MSDN下找到一个帮助文档,例子却不是用C语言写的。

    这个问题困扰了我几天,在这期间试图换一个别的控件,但也不太如意。最后终于想到一个简单而好用的办法。那就是用VC6下的类直接替换掉VS2005下的类。具体的做法是:

       1 在VC6下添加mschart控件,添加方法:

          菜单->Project->Add To Project->Components and Controls->Registered ActiveX Controls->

          Microsoft Chart Control, version 6.0(OLEDB)
         此时得到10多个类,其中有一个CMSChart的类

       2 在VS2005下添加mschart控件,添加方法有多种:

         方法一:工具(T)-》选择工具箱项(X)-》COM组件   在Microsoft Chart Control, version 6.0(OLEDB)前面打上对勾

         方法二:在工具箱的空白处点右键,然后点 选择项 ,接下来的步骤同上

         方法三:若是在对话框上使用此控件,只要在对话框上点右键,选择 插入ActivCMSChart的类eX控件,然后选

                          Microsoft Chart Control,  version 6.0(OLEDB)即可

         添加完之后只会出现Cmschart1的类

       3 将在VC6下产生的那些类的 .cpp 和.h文件全部拷到VS2005底下你所建立的项目的文件夹下,并将他们全部添加到该

          项目,   然后将cmschart1.cpp和cmschart1.h从项目中删除掉就OK了,实质上用VC6下的CMSChart类替换掉了VS2005

         下的  cmschart1类。

        4注意一点就是如果在属性里改变了该控件的ID,那么在DoDataExchange函数的相应位置也要手动改过来,例如我的

          是改成如下这样:

          void CGreenDlg::DoDataExchange(CDataExchange* pDX)
         {
             CDialog::DoDataExchange(pDX);
             DDX_Control(pDX, IDC_MSCHART_Polyline, m_PolylineChart);
             DDX_Control(pDX, IDC_MSCHART_Column, m_ColumnChart);
          }

          大功告成了,现在你可以当它是在VC6下使用。在我使用的范围内,这样做没有出现问题,欢迎大家批评指正。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xuwd05/archive/2008/07/26/2714875.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值