msChart组件安装与编程

首先下载mschart.ocx文件,至于它所依赖的.net环境,网上有很多,本人下载的插件给出链接,http://www.cr173.com/soft/47300.html而它所依赖的环境可以从我的云盘中下载http://pan.baidu.com/s/1dETjpvj

安装好后可以通过(1)regedit注册表查看一下是否安装成功。然后注册插件:regsvr32 +path+mschart.ocx 注意:以管理员运行cmd。(2)还可以通过vs编译器查看是否存在第三方插件:打开vs-->tool-->toolbox--->com。查找

勾选就可以在vs中使用该组件了。以上是mschart的安装。下面来看一下qt环境下的demo.

 1     /*
 2      * @Time :2016.9.29
 3      * @write by semon
 4      * @显示一个2d柱状图
 5     */
 6     QAxWidget *widget = new QAxWidget(this);
 7     widget->resize(size().width()-10,size().height()-10);
 8     widget->setControl(QString::fromUtf8("{31291E80-728C-11CF-93D5-0020AF99504A}"));
 9
10     pMsChart = new MsChart::_DMSChart(widget->asVariant().value<IDispatch*>());
11     pMsChart->SetTitleText("MsChart`s example");//设置标题
12     //设置背景颜色
13     pMsChart->Backdrop()->Fill()->SetStyle(MsChart::VtFillStyleBrush);
14     pMsChart->Backdrop()->Fill()->Brush()->FillColor()->Set(120,120,120);
15     //设置SeriesType
16     pMsChart->setChartType(MsChart::VtChChartType3dArea);//饼图
17 //    pMsChart->SetSeriesType(MsChart::VtChSeriesType2dLine);//2dLine
18     pMsChart->SetColumnCount(3);//y轴三条曲线
19     pMsChart->SetRowCount(3);//x轴三条曲线
20
21     //显示图例
22     pMsChart->SetShowLegend(true);
23     pMsChart->SetColumn(1);
24     pMsChart->SetColumnLabel("1号机");
25     pMsChart->SetColumn(2);
26     pMsChart->SetColumnLabel("2号机");
27     pMsChart->SetColumn(3);
28     pMsChart->SetColumnLabel("3号机");
29     //设置x轴
30     pMsChart->SetRow(1);
31     pMsChart->SetRowLabel("9.1");
32     pMsChart->SetRow(2);
33     pMsChart->SetRowLabel("9.2");
34     pMsChart->SetRow(3);
35     pMsChart->SetRowLabel("9.3");
36     //栈模式
37     pMsChart->SetStacking(false);
38     //y轴设置
39     //不自动标注x/y轴刻度
40     //设置成true时 y轴会自动根据熟知的额多少对y轴最大值进行修改
41     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->ValueScale()->SetAuto(false);
42     pMsChart->Plot()->Axis(MsChart::VtChAxisIdX)->ValueScale()->SetAuto(false);
43
44     //y轴最大/最小刻度
45     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->ValueScale()->SetMaximum(200);
46     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->ValueScale()->SetMinimum(0);
47     //y轴刻度等分
48     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->ValueScale()->SetMajorDivision(5);
49
50     //每刻度一个刻度线
51     //y轴
52     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->ValueScale()->SetMinorDivision(1);
53     //x轴
54 //    pMsChart->Plot()->Axis(MsChart::VtChAxisIdX)->ValueScale()->SetMinorDivision(1);
55
56     //y轴名称
57     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->AxisTitle()->SetText("Hours");
58     //x轴名称
59     pMsChart->Plot()->Axis(MsChart::VtChAxisIdX)->AxisTitle()->SetText("Time");
60     //y轴名称的排列方式
61     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY)->AxisTitle()->TextLayout()->Orientation(/*1*/);
62     //线色
63     pMsChart->Plot()->SeriesCollection()->Item(1)->Pen()->VtColor()->Set(0,0,255);
64     pMsChart->Plot()->SeriesCollection()->Item(2)->Pen()->VtColor()->Set(0,255,0);
65     pMsChart->Plot()->SeriesCollection()->Item(3)->Pen()->VtColor()->Set(255,0,0);
66     //线宽(对点位图有效)
67 //    pMsChart->Plot()->SeriesCollection()->Item(1)->Pen()->SetWidth(10);
68 //    pMsChart->Plot()->SeriesCollection()->Item(2)->Pen()->SetWidth(20);
69 //    pMsChart->Plot()->SeriesCollection()->Item(3)->Pen()->SetWidth(30);
70     //设置隐藏第二Y轴不可用
71     pMsChart->Plot()->Axis(MsChart::VtChAxisIdY2)->AxisScale()->SetHide(true);
72     //设置数值
73     pMsChart->DataGrid()->SetData(1,1,57,0);
74     pMsChart->DataGrid()->SetData(2,1,100,0);
75     pMsChart->DataGrid()->SetData(1,2,100,0);
76     //pMsChart->Plot()->SeriesCollection()->Item(1)->SetSecondaryAxis(false);
77     //数据点类型显示数据值的模式(对柱状图和点线图有效)
78     //0表示不显示。1显示柱状图。2显示在柱状图内上方。3显示在柱状图内中间。4显示在柱状图内下方
79     pMsChart->Plot()->SeriesCollection()->Item(1)->DataPoints()->Item(-1)->DataPointLabel()->SetLocationType(MsChart::VtChLabelLocationTypeAbovePoint);
80     pMsChart->Plot()->SeriesCollection()->Item(2)->DataPoints()->Item(-1)->DataPointLabel()->SetLocationType(MsChart::VtChLabelLocationTypeAbovePoint);
81     pMsChart->Plot()->SeriesCollection()->Item(3)->DataPoints()->Item(-1)->DataPointLabel()->SetLocationType(MsChart::VtChLabelLocationTypeAbovePoint);
82     //不要与x轴垂直的表格线
83     pMsChart->Plot()->Axis(MsChart::VtChAxisIdX)->AxisGrid()->MajorPen()->SetStyle(MsChart::VtPenStyleNull);
84
85     pMsChart->Refresh();//更新插件

效果图如下:

想要改变样式:改变setChartType的值即可。

特别鸣谢:http://blog.csdn.net/u014023993/article/details/41542717

时间: 2024-10-26 10:29:24

msChart组件安装与编程的相关文章

[转] .NET 3.5中MSChart组件的ImageLocation属性含义

在.NET程序/网站中如果要生成统计图表/图形,以前可以采用OWC(Office Web Components),如OfficeXP组件OWC10.Office2003组件OWC11.OWC采用COM-DLL方式的调用接口,但主要缺憾 是生成的图片不够美观,不够“现代”. 现在,随着.NET 3.5的发布,其引入了新的MSChart组件,当然,已经彻底的.NET化了. 一.要使用这个新的图形组件,需要.NET 3.5 SP1环境.下载安装以下文件,分别是组件安装包.中文语言包.VS插件.MSCh

delphi 组件安装教程详解

学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了. 本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dclSimpleEdit.bpl 依赖 SimpleLabel.bpl , 或者说 dclSimpleEdit.bpl 需要 SimpleLabel.bpl 才能运行.这也是多数组件安装问题之典型! 本例源码下载(delphi 7) 一.首先在delphi中打开 ComponentStudy 目录中的 C

2.使用Package Control组件安装

安装Sublime Text 2插件的方法: 1.直接安装 安装Sublime text 2插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 也可以安装package control组件,然后直接在线安装: 按Ctrl+`调出console 粘贴以下代码到底部命令行并回车:import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_pa

面向对象、面向服务、面向组件三种编程模式有什么区别?分别适用于哪些领域的开发?

http://blog.sina.com.cn/s/blog_6d2890600101cwih.html 三个数据后面都缺了一个词,分别是:“编程”.“架构”和“开发”(或“软件工程”). 同时,不是“面向”组件而是“基于”组件. 面向对象编程(Object-Oreinted Programming) 是一种编程范式.指在设计程序时大量运用类实例对象的方式.OOP一旦在项目中被运用,就成了时刻要考虑的东西. 面向服务架构(Service-Oreinted Architecture) 是将软件设计

Microsoft Visual Studio Web 创作组件安装失败的解决方法

在网上查一下说是Office2007的问题.我把Office2007卸载了还是不行. 然后用Windows Install Clean Up工具清理,还是不行. 郁闷了.然后在安装包中的下面路径下找到\WCU\WebDesignerCore找到“Visual Studio Web 创作组件”的安装程序WebDesignerCore.EXE,双击出现提示“提取失败”,看来是安装包的这个组件在从别的地方copy的时候出现问题了.于是让同事给我重新发一个WebDesignerCore.EXE,再双击就

[零基础学pythyon]安装python编程环境

任何高级语言都是需要一个自己的编程环境的,这就好比写字一样,需要有纸和笔,在计算机上写东西,也需要有文字处理软件,比如各种名称的OFFICE.笔和纸以及office软件,就是写东西的硬件或软件,总之,那些文字只能写在那个上边,才能最后成为一篇文章.那么编程也是,要有个什么程序之类的东西,要把程序写到那个上面,才能形成最后类似文章那样的东西. 刚才又有了一个术语--"程序",什么是程序?本文就不讲了.如果列为观众不是很理解这个词语,请上网google一下. 注:推荐一种非常重要的学习方法

Exchange Server 2013部署(二)先决条件及必备组件安装

上文我们已经介绍了部署环境和AD架构的准备,本文进行安装邮箱服务器前的组件安装 一.安装远程工具管理包:打开Powershell输入 Install-WindowsFeature RSAT-ADDS 二.在Server 2012安装 Exchange 2013所需的必备项取决于您想要安装的 Exchange 角色: 安装邮箱或客户端访问服务器角色时需要安装相关组件打开PowerShell输入: Install-WindowsFeature AS-HTTP-Activation, Desktop-

SCCM 2012 R2 实战系列(四)—数据库及必要组件安装

下面来介绍其余的组件,SCCM是需要数据库支持的,因此必须在SCCM服务器上首先将数据库安装好,另外SCCM部署中需要用到ADK中的部署工具,我们还需要在SCCM中安装Windows ADK 8.1,在部署过程中通过SCCM部署客户端计算机需要用到WDS组件,另外我们还需要配置IIS,这些都是提前需要准备好的,下面来介绍安装配置方法,首先是数据库的安装 这里一定要注意: SCCM不支持Express版本的数据库,数据库必须要打SP补丁,否则SCCM将无法正常识别,另外数据库如果是SQL 2012

VMWare horizon view组件安装之Composer服务器安装

在安装Composer服务器之前,建议将Composer服务器加入到域环境,同时为Composer服务器安装额外的数据库,并在Composer本地服务器安装数据ODBC数据源服务端工具,为Composer服务器与SQL之间配置好ODBC数据源,当一切工作准备就绪后,就开始安装Composer服务器 在Composer服务器下载对应版本的Composer服务器软件包,并双击安装包,打开安装运行向导 接受许可协议 设置安装目录 为Composer指定数据库,并输入相应的验证用户名密码 设置Compo