MFC microsoft chart control version 6.0 OLEDB

MFC microsoft chart control version 6.0 OLEDB

win10+ VS2017 设置MSChart控件

mschrt20.ocx下载放在目录c:\windows\syswow64目录下

注册方法:

CMD管理员运行,命令行中输入regsvr32 mschrt20.ocx即可。
regsvr32 c:\Windows\SysWOW64\MSCHRT20.OCX(相应控件名)

运行实例,成功!

下载MSCHRT20.OCX这个文件
在这里插入图片描述
在这里插入图片描述
4、打开VS2013,新建一个MFC工程,点击VS中的“工具->选择工具箱->COM组件”,找到Microsoft Chart Control,version 6.0(OLEDB)并勾选上。接下来,就可以在工具箱中看到该控件了。

Microsoft ADO Data Control,version 6.0(OLEDB) 不支持此接口

在VC6.0的环境下,当添加添加MS DataGrid控件(COM组件)时,回出现“ Microsoft ADO Data Control,version 6.0(OLEDB) 不支持此接口”的对话框,这时将Insert按钮左边的文件名的后缀.link去掉即可正常添加!

在这里插入图片描述

MSChart.exe: http://pan.baidu.com/share/link?shareid=100879&uk=1798273438

MSCHART20.OCX: http://pan.baidu.com/share/link?shareid=100882&uk=1798273438

VC6.0中MSChart画图

https://blog.csdn.net/Zhouxian2012/article/details/8348672

一、在工程中加入 mschart

菜单->Project->Add To Project->Components and Controls->Registered ActiveX Controls->Microsoft Chart Control, version 6.0 (OLEDB)

二、在CDemoView中加入:CMSChart m_Chart

三、创建及设置m_Chart

3.1 在 CDemoView::OnCreate 中创建CMSChart

在这里插入图片描述
在这里插入图片描述
http://www.360doc.com/content/13/0201/12/7023119_263570160.shtml

vs2017

在这里插入图片描述

在这里插入图片描述

这个好像是 不对

在VS环境下使用MSchart控件

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

前一段因为要在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下使用。在我使用的范围内,这样做没有出现问题,欢迎大家批评指正。

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/121335262