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

小億
169
2024-02-20 14:10:09
欄目: 編程語言

在使用MFC繪制三角形時(shí),可以通過重寫CWnd類的OnPaint函數(shù)來實(shí)現(xiàn)。具體步驟如下:

1、首先,創(chuàng)建一個(gè)MFC應(yīng)用程序,并在其中添加一個(gè)CWnd類的派生類。

2、在CWnd類的頭文件中添加以下代碼:

```cpp

class CTriangleWnd : public CWnd

{

public:

CTriangleWnd();

virtual ~CTriangleWnd();

protected:

DECLARE_MESSAGE_MAP()

afx_msg void OnPaint();

};

```

3、在CWnd類的實(shí)現(xiàn)文件中添加以下代碼:

```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、在主窗口類中創(chuàng)建CTriangleWnd對(duì)象,并顯示出來:

```cpp

BOOL CMyApp::InitInstance()

{

// 創(chuàng)建主窗口

CMainFrame* pFrame = new CMainFrame;

m_pMainWnd = pFrame;

// 創(chuàng)建三角形窗口

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應(yīng)用程序中使用CWnd類來繪制一個(gè)簡單的三角形。

0