绘图基础--多边形2

绘图基础--多边形2

绘图基础--多边形2

 

// polygon2.cpp



#include <afxwin.h>



// Define the application class

class CApp : public CWinApp

{

public:

	virtual BOOL InitInstance();

};



CApp App;  



// define the window class

class CWindow : public CFrameWnd

{ 

public:

	CWindow(); 

	void OnPaint();

	DECLARE_MESSAGE_MAP()

};



// The window's constructor

CWindow::CWindow()

{ 

	Create(NULL, "Drawing Tests",

		WS_OVERLAPPEDWINDOW,

		CRect(0,0,350,300)); 

}



// The message map

BEGIN_MESSAGE_MAP( CWindow, CFrameWnd )

	ON_WM_PAINT()	

END_MESSAGE_MAP()



// Handle exposure

void CWindow::OnPaint()

{

	CPaintDC dc(this);

	

	// Change the pen and the brush

	CPen pen(PS_SOLID, 2, RGB(0,0,255)), *oldPen;

	CBrush brush(RGB(255,0,0)), *oldBrush;

	oldPen = dc.SelectObject(&pen);

	oldBrush = dc.SelectObject(&brush);

	

	// Create the polygon

	CPoint a[10];

	a[0] = CPoint(100,100);	

	a[1] = CPoint(250,100);

	a[2] = CPoint(110,180); 

	a[3] = CPoint(180,30);

	a[4] = CPoint(260,180);    



	dc.SetPolyFillMode(ALTERNATE);

	dc.Polygon(a, 5);

	

	// return old pen and brush

	dc.SelectObject(oldPen);

	dc.SelectObject(oldBrush);

}



// Init the application

BOOL CApp::InitInstance()

{

	m_pMainWnd = new CWindow();

	m_pMainWnd->ShowWindow(m_nCmdShow);

	m_pMainWnd->UpdateWindow();

	return TRUE;

}


 

 

你可能感兴趣的:(基础)