MFC的Brush与Pen的使用

Brush的使用

void CMFCApplicationDlg::OnBnClickedOk()
{
	CDC *pDC = GetWindowDC(); 

	CBrush brush1;                           // Must initialize!
	brush1.CreateSolidBrush(RGB(0, 0, 255)); // Blue brush.

	CRect rc;
	GetClientRect(&rc);
	ScreenToClient(&rc);

	// Save original brush.
	CBrush *pOrigBrush = (CBrush *)pDC->SelectObject(&brush1);

	// Paint upper left corner with blue brush.
	pDC->Rectangle(0, 0, rc.Width() / 2, rc.Height() / 2);

	// These constructors throw resource exceptions.
	try
	{
		// CBrush::CBrush(COLORREF crColor)
		CBrush brush2(RGB(255, 0, 0)); // Solid red brush.

		// CBrush::CBrush(int nIndex, COLORREF crColor)
		// Hatched green brush.
		CBrush brush3(HS_DIAGCROSS, RGB(0, 255, 0));

		// CBrush::CBrush(CBitmap* pBitmap)
		CBitmap bmp;
		// Load a resource bitmap.
		bmp.LoadBitmap(IDB_BITMAP1);
		CBrush brush4(&bmp);

		pDC->SelectObject(&brush2);

		// Paint upper right corner with red brush.
		pDC->Rectangle(rc.Width() / 2, 0, rc.Width(),
			rc.Height() / 2);

		pDC->SelectObject(&brush3);

		// Paint lower left corner with green hatched brush.
		pDC->Rectangle(0, rc.Height() / 2, rc.Width() / 2,
			rc.Height());

		pDC->SelectObject(&brush4);

		// Paint lower right corner with resource brush.
		pDC->Rectangle(rc.Width() / 2, rc.Height() / 2,
			rc.Width(), rc.Height());
	}
	catch (CResourceException *e)
	{
		e->ReportError();
		e->Delete();
	}

	// Reselect original brush into device context.
	pDC->SelectObject(pOrigBrush);

}

Pen画笔的使用

	CDC *pDC = GetWindowDC(); 
	CPen RedPen;				 
	RedPen.CreatePen(PS_DOT, 1, RGB(255, 0, 0));

	CRect rc;
	GetClientRect(&rc);
	ScreenToClient(&rc);

	pDC->SelectObject(RedPen);
	pDC->Rectangle(30, 50, rc.Width() / 2, rc.Height() / 2);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值