c++ MFC

c++中怎么用mfc绘制三角形

小亿
171
2024-02-20 14:10:09
栏目: 编程语言

在使用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类来绘制一个简单的三角形。

0
看了该问题的人还看了