MFC中怎么实现柱状图,给出一个代码参考
时间: 2024-05-04 19:19:19 浏览: 10
MFC中可以使用CDC类来实现柱状图的绘制,下面是一个简单的示例代码:
```c++
void CMyView::OnDraw(CDC* pDC)
{
CRect rect;
GetClientRect(&rect);
// 创建画刷对象
CBrush brush(RGB(255, 0, 0));
// 选择画刷对象
CBrush* pOldBrush = pDC->SelectObject(&brush);
// 绘制柱状图
int nData[] = { 10, 20, 30, 40, 50 };
int nWidth = rect.Width() / 5;
for (int i = 0; i < 5; i++)
{
int nHeight = nData[i] * rect.Height() / 50;
CRect rectBar(i * nWidth, rect.bottom - nHeight, (i + 1) * nWidth, rect.bottom);
pDC->Rectangle(rectBar);
}
// 恢复画刷对象
pDC->SelectObject(pOldBrush);
}
```
在这个示例中,我们先获取绘图区域的大小,然后创建一个红色的画刷对象,使用SelectObject方法选择这个画刷对象,接着循环绘制5个柱状图,每个柱状图的高度根据数据计算得到,最后使用SelectObject方法恢复之前的画刷对象。当调用OnDraw方法时,MFC会自动传入一个CDC对象,我们可以使用这个对象来绘制图形。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)