C++使用fusioncharts


最近看fusioncharts在web上做统计报表做的相当炫,就想怎么在C++里使用,最初是打算直接用flex编写flash然后C++调用flash来实现,后来发现比较麻烦,于是打算用html来展示,把html嵌入到MFc窗体里。这是具体的思路。

实现方法是:

1.编写html

将fusioncharts下的chart文件夹复制出来,然后编写html,如下

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>this is my First Charts</title>
<script language="JavaScript" src="FusionCharts/JS/FusionCharts.js"></script>

<script type="text/javascript">
	function showFusionCharts(){
 		var myChart = new FusionCharts("FusionCharts/Charts/Pie3D.swf", "myChartId", "500", "300");
   		
 		myChart.setDataURL("Data.xml");
    	myChart.render("chartdiv");
    }
</script>
</head>
<body οnlοad="showFusionCharts();">
<div id="chartdiv"></div>
</body>
</html>

中间用到了一个js文件,是必须的js文件

2.新建一个MFC对话框项目,在MFC对话框里添加一个控件webbrowser,具体的方法如下。http://wenku.baidu.com/view/ee24298fe53a580216fcfe4d.html

然后用这个控件读取本地的html显示

//取路径
	TCHAR buf[MAX_PATH+1]={0};
	//	GetModuleFileName(NULL,buf,MAX_PATH);
	GetCurrentDirectory(MAX_PATH,buf);
	(_tcsrchr(buf, _T('\\')))[1] = 0;

	//转换为双斜框,'\'为转义符,把它忽略
	CString Path_name;
	
	for(int n=0;buf[n];n++)
	{
	  if(buf[n]!=_T('\\'))
	  {	
		Path_name+=buf[n];
	  }else
	  {
	   Path_name +=_T("/");
	  }
	}
	Path_name +=_T("Debug/count.html");
	AfxMessageBox(Path_name);

	
	CComBSTR t(Path_name);
	VARIANT vt;
	vt.vt =VT_BSTR;
	vt.bstrVal =t.Copy();
	web.Navigate2(&vt,NULL,NULL,NULL,NULL);
3,数据来源
数据主要是从数据库读取然后写入xml里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值