QQ登录

只需一步,快速开始

MFC扩展编程实例2D极差条形图创建与设置渐变样式

[ 复制链接 ]
MFC扩展编程实例2D极差条形图创建与设置渐变样式

这个实例实现二维极差条形图创建与设置渐变样式功能。
效果如下图。

极差条形图创建与设置渐变样式

极差条形图创建与设置渐变样式

例程创建有两个数据系列,以极差形式显示。
界面上有两按钮可以设置图表数据标签显示位置与数据系列的填充渐变样式。
不同图表创建时,对应使用的函数为SetChartType,所以这是一个关键函数。
具体使用可以参考视窗类虚函数Create内的调用。

下面是例程创建过程与关键代码。
先创建基于class CMy123View : public CBCGPFormView单文档工程。
在视窗对话框资源中添加图片控件,修改ID为IDC_CHART用于显示图表。
添加视窗类成员变量与虚函数Create。
CBCGPChartCtrl m_wndChart;

  1. BOOL CMy123View::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
  2. {
  3.         BOOL bRst = CBCGPFormView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);;
  4.         //获取图表指针;
  5.         m_wndChart.SubclassDlgItem(IDC_CHART,this);//子类化图表;
  6.         CBCGPChartVisualObject* pChart = m_wndChart.GetChart();
  7.         BCGPChartCategory category = BCGPChartBar;//图表种类,F12查看全部;
  8.         BCGPChartType type = BCGP_CT_RANGE;//图表类型,按F12查看全部;
  9.         pChart->SetChartType(category, type);//设置图表类别;
  10.         pChart->SetChartTitle(_T("2D极差条形图"));
  11.         CBCGPChartBarSeries* pBarSeries1 = DYNAMIC_DOWNCAST(CBCGPChartBarSeries, pChart->CreateSeries(_T("能源")));
  12.         CBCGPChartBarSeries* pBarSeries2 = DYNAMIC_DOWNCAST(CBCGPChartBarSeries, pChart->CreateSeries(_T("税收")));
  13.         pBarSeries1->SetCustomOffsetPercent(100);
  14.         pBarSeries2->SetCustomOffsetPercent(100);
  15.         pBarSeries1->SetCustomSizePercent(50);
  16.         pBarSeries2->SetCustomSizePercent(50);
  17.        
  18.         pChart->AddChartDataYXY1(0, 1, 2, 0);
  19.         pChart->AddChartDataYXY1(2, 3, 2, 0);
  20.         pChart->AddChartDataYXY1(6, 8, 2, 0);
  21.         pChart->AddChartDataYXY1(8, 7, 2, 0);
  22.         pChart->AddChartDataYXY1(8, 1, 2, 0);
  23.         pChart->AddChartDataYXY1(8, 4, 6, 0);
  24.         pChart->AddChartDataYXY1(14, 1, 3, 0);
  25.         pChart->AddChartDataYXY1(15, 8, 1, 0);

  26.         pChart->AddChartDataYXY1(6, 4, 2, 1);
  27.         pChart->AddChartDataYXY1(7, 2, 1, 1);
  28.         pChart->AddChartDataYXY1(11, 3, 2, 1);
  29.         pChart->AddChartDataYXY1(13, 7, 2, 1);
  30.         pChart->AddChartDataYXY1(12, 1, 2, 1);
  31.         pChart->AddChartDataYXY1(14, 5, 4, 1);
  32.         pChart->AddChartDataYXY1(17, 1, 3, 1);
  33.         pChart->AddChartDataYXY1(10, 8, 1, 1);

  34.         //添加添加到布局管理器统一管理布局;
  35.         if (GetLayout() == NULL)
  36.                 return bRst;
  37.         CBCGPStaticLayout* pLayout = (CBCGPStaticLayout*)GetLayout();
  38.         if (pLayout == NULL)
  39.                 return bRst;
  40.         pLayout->AddAnchor(m_wndChart.GetDlgCtrlID(), CBCGPStaticLayout::e_MoveTypeNone, CBCGPStaticLayout::e_SizeTypeBoth);
  41.         //
  42.         return bRst;
  43. }
复制代码
在虚函数中实现了图表的创建,基于关键代码如下。
BCGPChartCategory category = BCGPChartBar;//图表种类,F12查看全部;
BCGPChartType type = BCGP_CT_RANGE;//图表类型,按F12查看全部;
pChart->SetChartType(category, type);//设置图表类别;
类型BCGP_CT_RANGE就为极差类型。
剩下两个设置按钮的代码可以下载例程查看。
例程用到的MFC扩展库源代码,可以网站内搜索下载。
例程源代码下载:
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:22.MFC扩展编程实例2D极差条形图创建与设置渐变样式.rar 
文件大小:81.47 KB  售价:2金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索