MFC CChartCtrl编程

重点:创建CChartCtrl控件有2种方式

1、直接创建CChartCtrl

2、窗体上添加Custom Control(切记一定不能是Static Text或者Picture Control,否则无法响应鼠标消息),然后根据ID关联CChartCtrl控件,初始化代码如下:

复制代码
void InitChartCtrl(CChartCtrl& chartCtrl, TChartString axisXLabel, TChartString axisYLabel, TChartString titleLabel)
{
    //去掉边框
    //chartCtrl.ModifyStyleEx(WS_EX_CLIENTEDGE, NULL, SWP_DRAWFRAME);
    //chartCtrl.ModifyStyle(WS_BORDER, 0);
    chartCtrl.SetEdgeType(EDGE_ETCHED);

    chartCtrl.SetPanEnabled(TRUE);
    chartCtrl.SetZoomEnabled(TRUE);

    //创建标准轴底部轴
    CChartStandardAxis* pAxisX = chartCtrl.CreateStandardAxis(CChartCtrl::BottomAxis);
    //pAxisX->SetAutomatic(true);//设置自动缩放
    pAxisX->SetMinMax(0, 1024);//设置显示范围    
    pAxisX->GetGrid()->SetVisible(true);

    //设置标题
    pAxisX->GetLabel()->SetText(axisXLabel);
    pAxisX->GetLabel()->SetColor(RGB(0, 0, 0));
    pAxisX->GetLabel()->SetFont(140, _T("微软雅黑"));

    //创建标准轴左轴
    CChartAxis* pAxisY = chartCtrl.CreateStandardAxis(CChartCtrl::LeftAxis);
    //pAxisY->SetAutomatic(true);//设置Y轴为可缩放
    pAxisY->SetMinMax(10.0, 80.0);
    pAxisY->GetGrid()->SetVisible(true);

    //设置标题
    pAxisY->GetLabel()->SetText(axisYLabel);
    pAxisY->GetLabel()->SetColor(RGB(0, 0, 0));
    pAxisY->GetLabel()->SetFont(96, _T("微软雅黑"));

    //设置背景颜色
    chartCtrl.SetBackGradient(RGB(255, 255, 255), RGB(255, 255, 255), gtVertical);

    //设置标题颜色
    chartCtrl.GetTitle()->SetColor(RGB(0, 0, 0));

    //设置标题字体大小
    chartCtrl.GetTitle()->SetFont(96, _T("微软雅黑"));

    //设置图标标题
    chartCtrl.GetTitle()->AddString(titleLabel);

    CChartLineSerie* pLineSerie = (CChartLineSerie*)chartCtrl.CreateLineSerie();
    pLineSerie->SetColor(RGB(0, 255, 0));
    pLineSerie->SetWidth(1);
    pLineSerie->SetSmooth(true);
}
相关推荐
汉克老师1 天前
第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(5、机甲战士)
c++·算法·蓝桥杯·01背包·蓝桥杯c++·c++蓝桥杯
Mr_Xuhhh1 天前
项目需求分析(2)
c++·算法·leetcode·log4j
PAK向日葵1 天前
【C/C++】面试官:手写一个memmove,要求性能尽可能高
c语言·c++·面试
Jared_devin1 天前
二叉树算法题—— [蓝桥杯 2019 省 AB] 完全二叉树的权值
数据结构·c++·算法·职场和发展·蓝桥杯
搞全栈小苏1 天前
基于Qt QML和C++的MQTT测试客户端(CMakeLists实现)
xml·c++·qt
啊?啊?1 天前
18 从对象内存到函数调用:C++ 虚函数表原理(继承覆盖 / 动态绑定)+ 多态实战
开发语言·c++·多态原理
bkspiderx1 天前
C++标准库:文件流类
开发语言·c++
一拳一个呆瓜1 天前
【MFC】对话框属性:X Pos(X位置),Y Pos(Y位置)
c++·mfc
一拳一个呆瓜1 天前
【MFC】对话框属性:Center(居中)
c++·mfc
hai_qin1 天前
十三,数据结构-树
数据结构·c++