学堂 学堂 学堂公众号手机端

在使用MFC绘制三角形时,可以通过重写CWnd类的OnPaint函数来实现

lewis 1年前 (2024-04-09) 阅读数 10 #技术

在使用MFC绘制三角形时,可以通过重写CWnd类的OnPaint函数来实现。具体步骤如下:

1、首先,创建一个MFC应用程序,并在其中添加一个CWnd类的派生类。

2、在CWnd类的头文件中添加以下代码:


classCTriangleWnd:publicCWnd
{
public:
CTriangleWnd();
virtual~CTriangleWnd();

protected:
DECLARE_MESSAGE_MAP()
afx_msgvoidOnPaint();
};

3、在CWnd类的实现文件中添加以下代码:

BEGIN_MESSAGE_MAP(CTriangleWnd,CWnd)
ON_WM_PAINT()
END_MESSAGE_MAP()

CTriangleWnd::CTriangleWnd()
{
}

CTriangleWnd::~CTriangleWnd()
{
}

voidCTriangleWnd::OnPaint()
{
CPaintDCdc(this);

//绘制三角形
POINTpoints[3];
points[0]={100,100};
points[1]={150,200};
points[2]={50,200};

dc.Polygon(points,3);
}

4、在主窗口类中创建CTriangleWnd对象,并显示出来:

BOOLCMyApp::InitInstance()
{
//创建主窗口
CMainFrame*pFrame=newCMainFrame;
m_pMainWnd=pFrame;

//创建三角形窗口
CTriangleWnd*pTriangleWnd=newCTriangleWnd;
pTriangleWnd->Create(NULL,_T("TriangleWindow"),WS_VISIBLE|WS_OVERLAPPEDWINDOW,CRect(0,0,300,300),pFrame);

//显示主窗口
pFrame->ShowWindow(SW_SHOW);
pFrame->UpdateWindow();

returnTRUE;
}

通过以上步骤,就可以在MFC应用程序中使用CWnd类来绘制一个简单的三角形。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门