Posted on 2012-09-29 14:15
盛胜 阅读(916)
评论(0) 编辑 收藏 引用 所属分类:
vc++深入详解
普通画刷
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
CBrush brushRed(RGB (255,0,0));
CBrush brushGreen(RGB (0,255,0));
CBrush brushBlue(RGB (0,0,255));
CClientDC dc(this);
dc.FillRect(CRect(m_ptOrigin,point),&brushGreen);
CView::OnLButtonUp(nFlags, point);
}位图画刷
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
//创建位图对象
CBitmap bitmap;
//加载位图资源
bitmap.LoadBitmap(IDB_BITMAP1);
//创建位图画刷
CBrush brush(&bitmap);
//创建并获得设备描述表
CClientDC dc(this);
//利用位图画刷填充鼠标拖拽过程中形成的矩形区域
dc.FillRect(CRect(m_ptOrigin,point),&brush);
CView::OnLButtonUp(nFlags, point);
}
透明画刷
void CTestView::OnLButtonUp(UINT nFlags, CPoint point)
{
//创建并获得设备描述表
CClientDC dc(this);
//创建一个空画刷;getstockobject的返回类型是HGDIOBJECT,需要进行强制类型转换
//GetStockObject函数可以获取一个画刷句柄,FromHandle函数可以将画刷句柄转换为画刷对象,绘图操作需要的是一个画刷对象
CBrush *pBrush=CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH));
//将空画刷填入设备描述表ccwf
CBrush *pOldBrush=dc.SelectObject(pBrush);
//绘制一个矩形
dc.Rectangle(CRect(m_ptOrigin,point));
dc.SelectObject(pOldBrush);
CView::OnLButtonUp(nFlags, point);
}