posts - 131, comments - 12, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

画刷CBrush

Posted on 2012-09-29 14:15 盛胜 阅读(919) 评论(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);
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理