重點:創建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);
}