Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4471191
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: C/C++

2011-07-07 19:17:29

工程代码; page100_1.rar  

    利用一个红色画刷填充鼠标拖拽过程中形成的一块矩形区域
  1. void CDrawView::OnLButtonUp(UINT nFlags, CPoint point)
  2. {
  3.     // TODO: Add your message handler code here and/or call default

  4.     //创建一个红色画刷
  5.     CBrush brush(RGB(255,0,0));
  6.     //创建并获得设备描述表
  7.     CClientDC dc(this);
  8.     //利用红色画刷填充鼠标拖拽过程中形成的矩形区域
  9.     dc.FillRect(CRect(m_ptOrigin,point),&brush);

  10.     CView::OnLButtonUp(nFlags, point);
  11. }

   首先创建一个红色画刷,接着创建设备描述表对象;调用设备描述表对象的成员函数FillRect, 利用指定的画刷填充一段指定的矩形区域,而鼠标拖动过程中的起点和终点构造了这块矩形区域。CRect类提供了多个构造函数,本例中使用的构造函数, 即通过矩形区域的左上角和右下角这两个点来构造一块矩形区域。

   CRect(POINT topLeft, POINT bottomRight);

   利用CDC类的成员函数FillRect,指定的画刷填充一个矩形。
   void FillRect(LPCRECT lpRect, CBrush * pBrush);
   lpRect:指向一个RECT结构体或CRect对象的指针,该结构体或对象中包含了要填充的矩形的逻辑坐标。
   pBrush: 指向用于填充矩形的画刷对象的指针


  提示: 我们这里只是用指定的画刷填充一块区域,因此,并不需要把画刷选入设备描述表中。设备描述表中存在一个默认的白色画刷。















阅读(707) | 评论(0) | 转发(0) |
0

上一篇:绘制彩色线条 6

下一篇:位图画刷 8

给主人留下些什么吧!~~