欢迎来到天天文库
浏览记录
ID:12384028
大小:113.00 KB
页数:11页
时间:2018-07-16
《mschart生成图表保存图片导入到excel》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MSChart生成图表保存图片导入到Excel少将第1页2021-9-21.设计思路12.实现步骤12.1使用MSChart生成图表12.1.1注册控件12.1.2添加控件到工程22.1.3导入头文件22.1.4编写代码22.2将图表保存到剪贴板中62.3将剪贴板的图片保存为文件72.3.1剪贴板操作72.3.2保存图文为文件的方法72.4导出图片到Excel92.4.1添加Excel支持库92.4.2添加头文件92.4.3编写代码91.设计思路1.使用MSChart控件设计图表2.生成图表后调用其EditCopy()方法将图片保存到剪贴版中3.打开剪贴板获取图片
2、并将其保存为文件4.打开Excel将图片插入到Excel当中并插入统计数据2.实现步骤2.1使用MSChart生成图表2.1.1注册控件使用regsvr32命令注册控件2.1.2添加控件到工程工程à增加到工程à组件和控件à选择控件àInsert2.1.3导入头文件1.在对话框头文件中加入:#include"mschart.h"2.在对话框源文件中加入:#include"VcPlot.h"#include"VcAxis.h"#include"VcValueScale.h"#include"VcSeriesCollection.h"#include"VcSeries.
3、h"#include"VcPen.h"#include"VcCategoryScale.h"#include"VcColor.h"#include"VcDataGrid.h"#include"VcBackdrop.h"#include"VcFill.h"#include"VcBrush.h"#include"VcDataPoints.h"#include"VcDataPoint.h"#include"VcDataPointLabel.h"#include"VcAxisTitle.h"#include"math.h"#include"VcAxisGrid.h"#in
4、clude"VcAxisScale.h"2.1.4编写代码1.变量和函数定义:voidDrawChart();voidinitmschart();voidOnChartLine();voidOnChartCombi();voidOnChartPie();CMSChartm_Chart;2.初始化和函数的实现:TestMSChartDlg::OnInitDialog()://创建图表CRectrc;GetClientRect(&rc);rc.bottom-=50;m_Chart.Create("mschart",WS_CHILD
5、WS_VISIBLE,rc,this
6、,10);initmschart();DrawChart();initmschart()://初始化图表voidCTestMSChartDlg::initmschart(){//设置标题m_Chart.SetTitleText("mschart示例");//下面两句改变背景色m_Chart.GetBackdrop().GetFill().SetStyle(1);m_Chart.GetBackdrop().GetFill().GetBrush().GetFillColor().Set(255,255,255);//显示图例m_Chart.SetShowLegend(
7、TRUE);m_Chart.SetColumn(1);m_Chart.SetColumnLabel((LPCTSTR)"1号机");m_Chart.SetColumn(2);m_Chart.SetColumnLabel((LPCTSTR)"2号机");m_Chart.SetColumn(3);m_Chart.SetColumnLabel((LPCTSTR)"3号机");//栈模式//m_Chart.SetStacking(TRUE);//X轴设置m_Chart.SetRowCount(6);charbuf[32];for(introw=1;row<=6;++row
8、){m_Chart.SetRow(row);sprintf(buf,"%d号",row);m_Chart.SetRowLabel((LPCTSTR)buf);}VARIANTvarX;//不自动标注X轴刻度m_Chart.GetPlot().GetAxis(0,varX).GetCategoryScale().SetAuto(FALSE);//每刻度一个标注m_Chart.GetPlot().GetAxis(0,varX).GetCategoryScale().SetDivisionsPerLabel(1);//每刻度一个刻度线m_Chart.GetPlot().
9、GetAx
此文档下载收益归作者所有