MFC--对话框的一个画图控件-HighSpeedChart

下载链接在最下面 (免费)

可在vs2022,vs2019等vs版本使用

 成果展示

下载好文件后,将

 整个文件夹,添加到项目中, 

1.之后,将控件拖到对话框里,修改属性到与图片相同

 

        

2.为对话框添加类,我这里添加的是 

3.为控件增加变量,因为不是VS自带的控件

4.点击类试图 

进行对控件的初始化, 

	virtual BOOL OnInitDialog();
	CChartCtrl m_BarChart1;
BOOL BarChart::OnInitDialog()
{
	CDialogEx::OnInitDialog();

	// TODO:  在此添加额外的初始化
	CMFCApplication6Dlg* barparent;
	barparent = (CMFCApplication6Dlg*)theApp.m_pMainWnd;
	CChartStandardAxis* Bar_pBottomAxis_z = m_BarChart1.CreateStandardAxis(CChartCtrl::BottomAxis);	//绘制坐标轴(x)
	Bar_pBottomAxis_z->SetMinMax(0, 20);	//一共有0到20
	Bar_pBottomAxis_z->SetDiscrete(true);
	CChartStandardAxis* Bar_pLeftAxis_z = m_BarChart1.CreateStandardAxis(CChartCtrl::LeftAxis);//y轴
	Bar_pLeftAxis_z->SetMinMax(0, 400);
	Bar_pLeftAxis_z->GetLabel()->SetText(_T("成绩"));
	m_BarChart1.GetBottomAxis()->GetLabel()->SetText(L"学号");
	m_BarChart1.GetTitle()->AddString(_T("柱状图"));	//设置柱状图的表头
	CChartFont titleFont;
	titleFont.SetFont(_T("Arial Black"), 120, true, false, true);	//设置标题字体
	m_BarChart1.GetTitle()->SetFont(titleFont);
	m_BarChart1.GetTitle()->SetColor(RGB(0, 0, 128));
	m_BarChart1.SetBackGradient(RGB(255, 255, 255), RGB(255, 127, 80), gtVertical);	//花里胡哨背景色
	m_BarChart1.EnableRefresh(false);
	m_BarChart1.GetLegend()->SetVisible(true);
	m_BarChart1.GetLegend()->SetHorizontalMode(true);
	m_BarChart1.GetLegend()->UndockLegend(550, 10);
}

初始化之后的图形就如图, 

 如果你要再加数据,继续增加数据

	m_BarChart1.RemoveAllSeries();//先清空
	CChartBarSerie* pBarSeries1 = m_BarChart1.CreateBarSerie();	//第一个柱子
	pBarSeries1->SetColor(RGB(25, 202, 173));			//柱子颜色
	pBarSeries1->SetName(_T("平均分"));
	CChartBarSerie* pBarSeries2 = m_BarChart1.CreateBarSerie();//第二个柱子
	pBarSeries2->SetColor(RGB(68, 68, 255));		//线的颜色
	pBarSeries2->SetGradient(RGB(214, 213, 183), gtVerticalDouble);//花里胡哨的渐变背景色
	pBarSeries2->SetName(_T("总成绩"));
	pBarSeries2->SetBorderColor(RGB(0, 0, 255));	//设置柱状图颜色
	pBarSeries2->SetBorderWidth(1);					//柱子宽度
添加数据的部分
{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}
	m_BarChart1.EnableRefresh(true);

加了之后的成果

 如果你想添加折线图,就在上面代码把柱状图改为折线图

CChartLineSerie* pLineSerie1;
	CChartLineSerie* pLineSerie2;
	CChartLineSerie* pLineSerie3;
	m_chartctrl.RemoveAllSeries();//先清空
	pLineSerie1 = m_chartctrl.CreateLineSerie();
	pLineSerie1->SetSeriesOrdering(poXOrdering);//设置为以x递增顺序
	pLineSerie1->SetColor(RGB(244, 96, 108));//颜色
	pLineSerie1->SetWidth(3);//设置线的宽度
	pLineSerie1->SetName(_T("数学"));//设置曲线名
	pLineSerie1->AddPoints(x, y_sx, 100);

下载链接:

mierhaosi3/HIGHSPEEDCHART1: 高速绘图控件 (github.com)

加载到项目里好像有一个是关于unsigned的错误,好像是改成unsigned

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值