WZZZ123的专栏

首先声明:

CXTPChartControl m_chartControl;

然后创建:

m_chartControl.Create(WS_CHILD | WS_VISIBLE, CRect(0, 0, 0, 0), this, IDR_TEST_CONTROL);

再创建一个chartContent对象:

CXTPChartContent *pContent = new CXTPChartContent;

m_chartContent.SetContent(pContent);

再添加曲线:

CXTPChartSeriesCollection* pCollection = pContent->GetSeries();

pCollection.RemoveAll();

if(pCollection)

{

for(int s=0;s<2;s++)//此处是加入两条曲线

{

CXTPChartSeries* pSeries = pCollection->Add(new CXTPChartSeries());

if(pSeries)

{

pSeries->GetPoints()->Add(new CXTPChartSeriesPoint(1, 2));

// 加入多个点

// …………

}

}

}

设置表格:

CXTPChartDiagram2D* pDiagram = DYNAMIC_DOWNCAST(CXTPChartDiagram2D, pCollection->GetAt(0)->GetDiagram()); ASSERT (pDiagram); pDiagram->SetAllowZoom(TRUE); pDiagram->GetAxisY()->GetRange()->SetMaxValue(100.1); pDiagram->GetAxisY()->GetRange()->SetAutoRange(FALSE); pDiagram->GetAxisY()->SetAllowZoom(FALSE); pDiagram->GetAxisX()->GetRange()->SetMaxValue(100.1); pDiagram->GetAxisX()->GetRange()->SetAutoRange(FALSE); pDiagram->GetAxisX()->GetRange()->SetZoomLimit(10); pDiagram->GetAxisX()->SetInterlaced(FALSE); pDiagram->GetAxisY()->SetInterlaced(FALSE); pDiagram->GetPane()->GetFillStyle()->SetFillMode(xtpChartFillSolid);最后更新一下控件:

m_chartControl.UpdateWindow(TRUE);

除了上述步骤外,为了动态控制控件的大小,,可以添加WM_ON_SIZE()消息映射,在OnSize()函数中加入以下代码:

CView::OnSize(nType, cx, cy); CXTPWindowRect rcChart(this); ScreenToClient(&rcChart); if (m_chartControl.GetSafeHwnd()) { m_chartControl.SetWindowPos(NULL, rcChart.left, rcChart.top, rcChart.Width(), rcChart.Height(), SWP_NOZORDER); }

每当我看天的时候我就不喜欢再说话,每当我说话的时候我却敢看天。

WZZZ123的专栏

相关文章:

你感兴趣的文章:

标签云: