深入浅出CChart 每日一课——第六课 童心未泯,老狐狸分油饼之饼图

来源:互联网 发布:oracle数据可视化工具 编辑:程序博客网 时间:2024/05/01 02:55

这节课我们轻松一下,很快就放学,呵呵。

笨笨一直就喜欢吃饼子。

记得小时候,那时2B还只是铅笔,不是某些青年的代名词,全国人民都不富裕,笨笨最喜欢的东西就是在一团面粉里面夹一块肥肉,然后放在家里炉灶里面的热灰里,等饭做熟了饼也烤好了,拿出来咬一口肥油直冒,那个香啊,现在想起了还直流口水。

岁月是把杀猪刀,紫了葡萄,黑了木耳,软了香蕉。如今全国人民在某大大的带领下建设小康社会,笨笨已经吃不上当年的炉灰烤肉饼了,现在笨笨的最爱是西安的肉夹馍,外加羊肉泡馍,呵呵。

扯远了,下面给大家介绍CChart的饼图绘制功能,这是一种应用非常广泛的图表形式。当然罗,由于我们的工具是CChart,简单是必然的了。

请大家按照第一课的方法用VC6建立一个名为Lesson06的工程。下面修改WM_CREATE消息的响应例程如下。

 case WM_CREATE:chartWnd.Attach(hWnd, kTypePie);chartWnd.GetChart()->AddPie(28);chartWnd.GetChart()->AddPie(39);chartWnd.GetChart()->AddPie(21);chartWnd.GetChart()->AddPie(22);break; 

注意到饼图的代号是kTypePie

运行程序,效果如图。

这里用AddPie添加饼图的数据。

A piece of cake!

上图中不爽之处在于每块饼的名称没有设置,下面重新修改WM_CREATE的响应例程。

 case WM_CREATE:chartWnd.Attach(hWnd, kTypePie);chartWnd.GetChart()->AddPie(28);chartWnd.GetChart()->AddPie(39);chartWnd.GetChart()->AddPie(21);chartWnd.GetChart()->AddPie(22);chartWnd.GetChart()->SetPieTitle(_T("赵敏"), 0);chartWnd.GetChart()->SetPieTitle(_T("周芷若"), 1);chartWnd.GetChart()->SetPieTitle(_T("殷离"), 2);chartWnd.GetChart()->SetPieTitle(_T("小昭"), 3);break; 

运行效果如图。


SetPieTitle可以设置饼的标题。

最后我们在上面的break;这一行前面设置一下饼图的标题。

 chartWnd.GetChart()->SetTitle(_T("张无忌的内心世界")); 

运行效果如图。


最后这张图暴露了笨笨希望妻妾同行的龌龊心理。可惜笨笨不是韩二,没有四两拔干片的本事,达不到“老子儿子,都是韩寒;妻子马子,都是亲人”的水平,唉。

请同学们注意一下,饼图每块饼的标题都是可以任意拖动的。当饼标题与对应饼处于分离状态时,饼标题的颜色和饼颜色是一致的;当饼标题与对应饼处于相交状态时,饼标题将变色以便辨认。如图,“小昭”已经改变颜色。

另外,饼图本身也是可以任意拖动的,同学们可以用鼠标试一试。

这节课非常轻松,可以下课了。

原创粉丝点击