在使用MFC绘制三角形时,可以通过重写CWnd类的OnPaint函数来实现。具体步骤如下:
1、首先,创建一个MFC应用程序,并在其中添加一个CWnd类的派生类。
2、在CWnd类的头文件中添加以下代码:
```cpp
class CTriangleWnd : public CWnd
{
public:
CTriangleWnd();
virtual ~CTriangleWnd();
protected:
DECLARE_MESSAGE_MAP()
afx_msg void OnPaint();
};
```
3、在CWnd类的实现文件中添加以下代码:
```cpp
BEGIN_MESSAGE_MAP(CTriangleWnd, CWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()
CTriangleWnd::CTriangleWnd()
{
}
CTriangleWnd::~CTriangleWnd()
{
}
void CTriangleWnd::OnPaint()
{
CPaintDC dc(this);
// 绘制三角形
POINT points[3];
points[0] = { 100, 100 };
points[1] = { 150, 200 };
points[2] = { 50, 200 };
dc.Polygon(points, 3);
}
```
4、在主窗口类中创建CTriangleWnd对象,并显示出来:
```cpp
BOOL CMyApp::InitInstance()
{
// 创建主窗口
CMainFrame* pFrame = new CMainFrame;
m_pMainWnd = pFrame;
// 创建三角形窗口
CTriangleWnd* pTriangleWnd = new CTriangleWnd;
pTriangleWnd->Create(NULL, _T("Triangle Window"), WS_VISIBLE | WS_OVERLAPPEDWINDOW, CRect(0, 0, 300, 300), pFrame);
// 显示主窗口
pFrame->ShowWindow(SW_SHOW);
pFrame->UpdateWindow();
return TRUE;
}
```
通过以上步骤,就可以在MFC应用程序中使用CWnd类来绘制一个简单的三角形。