GetRegionData

GetRegionData

VB声明

Declare Function GetRegionData Lib "gdi32" Alias "GetRegionDataA" (ByVal hRgn As Long, ByVal dwCount As Long, lpRgnData As RgnData) As Long

说明

装入描述一个区域信息的RgnData结构或缓冲区

返回值

Long,如果结构足够大以装入区域的数据,返回1;出错时返回0。如果lpRgnData不够大,不能装入区域数据,则返回需要的结构大小

参数表

参数

类型及说明

hRgn

Long,包含信息的区域的句柄

dwCount

Long,RgnData结构的大小

lpRgnData

RgnData,这个结构用以装入区域信息

注解

RgnData是一个描述区域的定长结构。Buffer是存放区域数据的缓冲区。缓冲区实际需要的大小取决于区域的复杂程度(显然,1字节是永远不够的)。有两个选择:

1、将RgnData重定义为永远不会用到的一个大尺寸。这是需要的,因为vb不允许动态重定义结构的大小

2、分配一个字节数组并用它来代替RgnData结构。这要求将As RgnData换为As Byte来改变函数的API声明,并且传送字节数组的第一个元素

如果以后要访问RGNDATAHEADER结构的元素,需要用一个内存拷贝例程将数据从缓冲区拷贝到一个特别定义的RGNDATAHEADER结构中

Top