c++如何在视图类画三个不同颜色不同位置不同粗细的三角形
时间: 2024-01-31 22:02:31 浏览: 19
在 MFC 的视图类中,可以重载 OnDraw 函数来实现绘制图形的功能。下面是一个简单的画三角形的示例代码:
```
void CMyView::OnDraw(CDC* pDC)
{
// 画第一个三角形,红色,粗线条
CPen redPen(PS_SOLID, 3, RGB(255, 0, 0));
CPen* pOldPen = pDC->SelectObject(&redPen);
CBrush* pOldBrush = (CBrush*)pDC->SelectStockObject(NULL_BRUSH);
POINT points1[] = { {100, 100}, {150, 150}, {50, 150} };
pDC->Polygon(points1, 3);
// 画第二个三角形,绿色,细线条
CPen greenPen(PS_SOLID, 1, RGB(0, 255, 0));
pDC->SelectObject(&greenPen);
CBrush greenBrush(RGB(0, 255, 0));
pDC->SelectObject(&greenBrush);
POINT points2[] = { {200, 100}, {250, 150}, {150, 150} };
pDC->Polygon(points2, 3);
// 画第三个三角形,蓝色,中等线条
CPen bluePen(PS_SOLID, 2, RGB(0, 0, 255));
pDC->SelectObject(&bluePen);
CBrush blueBrush(RGB(0, 0, 255));
pDC->SelectObject(&blueBrush);
POINT points3[] = { {100, 200}, {50, 250}, {150, 250} };
pDC->Polygon(points3, 3);
// 恢复原来的画笔和画刷
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
}
```
在这段代码中,我们先创建了三支不同的画笔和画刷,分别用于画三个三角形。然后,分别设置画笔和画刷,用 Polygon 函数画出三角形。最后,恢复原来的画笔和画刷。注意,这里使用了不同的颜色、线条粗细和位置来画三角形,你可以根据自己的需求进行修改。