创建和绘制区域

          区域是对显示器上一个范围的描述,这个范围可以是矩形、多边形和椭圆的组合。区域可以用来绘制和裁剪,通过将区域选进设备描述表,就可以用区域来进行裁剪(就是说,将可以绘图的范围限制为客户区的一部分)。与画笔、画刷和位图一样,区域是GDI对象,我们应该调用SelectObje将其选入设备描述表,调用DeleObj来删除所创建的区域。

 当我们创建一个区域时,Windows返回一个该区域的句柄,类型为HRGN,最简单的区域是矩形,有2种创建矩形区域的方法:

 

hRgn = CreateRectRgn(xLeft, yTop, xRight, yBottom);

或者:

hRgn = CreateRectRgnIndirect(&rect);

 

      创建椭圆、多边形、圆角矩形的函数就不一一列举了,可能有人会产生疑问,区域有什么特别之处呢?下面这个函数清楚的说明了问题。

iRgnType = CombineRgn(hDestRgn, hSrcRgn1, hSrcRgn2, iCombine);

       这一函数将2个源区域组合起来并且用句柄hDestRgn指向组合成的目标区域。这三个区域句柄都必须是有效的,但是hDestRgn所指向的原来的区域将被破坏掉。iCombine参数说明了2个源区域的组合方式。

      这个函数的返回值是下列值之一,NULLREGION表示得到一个空区域,SINPLEREGION表示得到简单矩形、椭圆或者多边形。COMPLEXREGION表示得到简单图形的组合,ERROR表示出错了。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值