GetRegionData

此頁沒有內(nèi)容條目
內(nèi)容

GetRegionData

VB聲明

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

說明

裝入描述一個(gè)區(qū)域信息的RgnData結(jié)構(gòu)或緩沖區(qū)

返回值

Long,如果結(jié)構(gòu)足夠大以裝入?yún)^(qū)域的數(shù)據(jù),返回1;出錯(cuò)時(shí)返回0。如果lpRgnData不夠大,不能裝入?yún)^(qū)域數(shù)據(jù),則返回需要的結(jié)構(gòu)大小

參數(shù)表

參數(shù)

類型及說明

hRgn

Long,包含信息的區(qū)域的句柄

dwCount

Long,RgnData結(jié)構(gòu)的大小

lpRgnData

RgnData,這個(gè)結(jié)構(gòu)用以裝入?yún)^(qū)域信息

注解

RgnData是一個(gè)描述區(qū)域的定長(zhǎng)結(jié)構(gòu)。Buffer是存放區(qū)域數(shù)據(jù)的緩沖區(qū)。緩沖區(qū)實(shí)際需要的大小取決于區(qū)域的復(fù)雜程度(顯然,1字節(jié)是永遠(yuǎn)不夠的)。有兩個(gè)選擇:

1、將RgnData重定義為永遠(yuǎn)不會(huì)用到的一個(gè)大尺寸。這是需要的,因?yàn)関b不允許動(dòng)態(tài)重定義結(jié)構(gòu)的大小

2、分配一個(gè)字節(jié)數(shù)組并用它來代替RgnData結(jié)構(gòu)。這要求將As RgnData換為As Byte來改變函數(shù)的API聲明,并且傳送字節(jié)數(shù)組的第一個(gè)元素

如果以后要訪問RGNDATAHEADER結(jié)構(gòu)的元素,需要用一個(gè)內(nèi)存拷貝例程將數(shù)據(jù)從緩沖區(qū)拷貝到一個(gè)特別定義的RGNDATAHEADER結(jié)構(gòu)中

Top