区域类CRgn

CRgn类封装了图形设备接口的区域,他能够实现对与区域的很多操作。

class CRgn : pulbic CGdiobject

有一个公共的构造函数CRgn::CRgn

包含的公共方法:

CRgn::CombineRgn

设置 CRgn 对象,以便使用两个指定的 CRgn 对象联合等效。

CRgn::CopyRgn

设置 CRgn 对象,以便为指定的 CRgn 对象的副本。

CRgn::CreateEllipticRgn

初始化一个省略区域的一 CRgn 对象。

CRgn::CreateEllipticRgnIndirect

初始化 RECT 结构定义一个省略区域的一 CRgn 对象。

CRgn::CreateFromData

创建从特定区域和转换数据的区域。

CRgn::CreateFromPath

创建从中选择到特定设备上下文的路径的区域。

CRgn::CreatePolygonRgn

初始化多边形区域的一 CRgn 对象。 该系统通过绘制线条如果需要,自动闭合多边形,从最后一个顶点到第一。

CRgn::CreatePolyPolygonRgn

初始化包含一系列的闭合多边形的区域的一 CRgn 对象。 多边形可能是相交,也能重叠。

CRgn::CreateRectRgn

初始化一个矩形区域的一 CRgn 对象。

CRgn::CreateRectRgnIndirect

初始化 RECT 结构定义的矩形区域的一 CRgn 对象。

CRgn::CreateRoundRectRgn

初始化一个矩形区域的一 CRgn 对象带圆角。

CRgn::EqualRgn

检查两 CRgn 对象以确定它们是否等效。

CRgn::FromHandle

返回指向 CRgn 对象,同时使处理Windows区域。

CRgn::GetRegionData

用描述给定区域的数据填充指定的缓冲区。

CRgn::GetRgnBox

检索 CRgn 对象的边框的坐标。

CRgn::OffsetRgn

按指定的偏移量移动 CRgn 对象。

CRgn::PtInRegion

确定指定的点是否位于该区域。

CRgn::RectInRegion

确定一个指定矩形的任何部分是否在该区域的范围内。

CRgn::SetRectRgn

设置到指定的矩形区域的 CRgn 对象。

6y4t32t5.collapse_all(zh-cn,VS.120).gif公共运算符

名称

说明

CRgn::operator HRGN

返回在 CRgn 对象包含的Windows句柄。


目前,我所用到了两个其中两个函数

第一个是创建多边形区域的CreatePolygonRgn函数,其原型如下:
BOOL CreatePolygonRgn(
  LPPOINT lpPoints,其中起一个参数是点类CPoint的对象或Point结构体对象,一般都为对象数组
  int nCount,多边形的点数即在CPoint对象的个数
  int nMode //模式,可选ALTERNATE或WINDING两个
);

   创建完之后,需要使用Deleteobject进行删除。直接使用此函数来创建多边形比使用MoveTo和LineTo方便,而且可以方便的对多边形区域进行下一步的填充

填充颜色的话,使用的是CDC类中的FillRgn()函数,一下是该函数的原型

BOOL FillRgn(
    CRgn* pRgn,//区域对象的指针
  CBrush* pBrush //画刷
);

第二个函数是创建一个省略区域,其中四个参数分别为区域的左上角的坐标和右下角的坐标。

BOOL CreateEllipticRgn(
    int x1,
    int y1,
   int x2,
   int y2 
);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值