VB 版 (精华区)
发信人: bloom (小石头长大了), 信区: VB
标 题: 设备场景函数(3)
发信站: 哈工大紫丁香 (2000年07月23日16:32:40 星期天), 转信
目录
GetUpdateRgn 确定指定窗口的刷新区域。该区域当前无效,需要刷新
GetViewportExtEx 获取设备场景视口(viewport)范围
GetViewportOrgEx 获取设备场景视口起点
GetWindowDC 获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景
GetWindowExtEx 获取指定设备场景的窗口范围
GetWindowOrgEx 获取指定设备场景的逻辑窗口的起点
GetWindowRgn 获取窗口区域
GetWorldTransform 如果有世界转换,为设备场景获取当前世界转换
IntersectClipRect 为指定设备定义一个新的剪裁区
InvalidateRgn 使窗口指定区域不活动,并将它加入窗口刷新区,使之可随后被重画
InvertRgn 通过颠倒每个像素值反转设备场景指定区域
LPtoDP 将点阵从指定设备场景逻辑坐标转换为设备坐标
ModifyWorldTransform 根据指定的模式修改世界转换
OffsetClipRgn 按指定量平移设备场景剪裁区
OffsetRgn 按指定偏移量平移指定区域
OffsetViewportOrgEx 平移设备场景视口区域
____________________________________________________________________
GetUpdateRgn
VB声明
Declare Function GetUpdateRgn Lib "user32" Alias "GetUpdateRgn" (ByVal hwnd
As Long, ByVal hRgn As Long, ByVal fErase As Long) As Long
说明
确定指定窗口的刷新区域。该区域当前无效,需要刷新
返回值
Long,下列常数之一,以描述当前剪裁区:
COMPLEXREGION:该区域有互相交叠的边界
SIMPLEREGION:该区域边界没有互相交叠
NULLREGION:区域为空
ERRORAPI:发生了错误
参数表
参数 类型及说明
hwnd Long,将确定刷新区域的窗口的句柄
hRgn Long,装载hwnd窗口刷新区域的区域句柄
fErase Long,为非零值表示窗口背景应擦除,客户区外的窗口部分是被重画
原文:TRUE (nonzero) to specify that the window background should be erased
and parts of the window outside of the client area should be redrawn.
_____________________________________________________________________
GetViewportExtEx
VB声明
Declare Function GetViewportExtEx Lib "gdi32" Alias "GetViewportExtEx" (ByVa
l hdc As Long, lpSize As SIZE) As Long
说明
获取设备场景视口(viewport)范围
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
lpSize SIZE,装载DC视口水平和垂直范围(以设备单元表示)的结构
________________________________________________________________
GetViewportOrgEx
VB声明
Declare Function GetViewportOrgEx Lib "gdi32" Alias "GetViewportOrgEx" (ByVa
l hdc As Long, lpPoint As POINTAPI) As Long
说明
获取设备场景视口起点
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
lpPoint POINTAPI,装载视口起点的结构
_________________________________________________
GetWindowDC
VB声明
Declare Function GetWindowDC Lib "user32" Alias "GetWindowDC" (ByVal hwnd As
Long) As Long
说明
获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景
返回值
Long,执行成功为窗口设备场景,失败则为0
参数表
参数 类型及说明
hwnd Long,将获取其设备场景的窗口
注解
不推荐在vb里使用这个函数。用完后一定要用ReleaseDC函数释放场景
_______________________________________________________________
GetWindowExtEx
VB声明
Declare Function GetWindowExtEx Lib "gdi32" Alias "GetWindowExtEx" (ByVal hd
c As Long, lpSize As SIZE) As Long
说明
获取指定设备场景的窗口范围
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
lpSize SIZE,装载设备场景逻辑窗口水平和垂直范围(以逻辑单元表示)的结构
___________________________________________________
GetWindowOrgEx
VB声明
Declare Function GetWindowOrgEx Lib "gdi32" Alias "GetWindowOrgEx" (ByVal hd
c As Long, lpPoint As POINTAPI) As Long
说明
获取指定设备场景的逻辑窗口的起点
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
lpPoint POINTAPI,装载逻辑窗口起点的结构
GetWindowOrgEx
VB声明
Declare Function GetWindowOrgEx Lib "gdi32" Alias "GetWindowOrgEx" (ByVal hd
c As Long, lpPoint As POINTAPI) As Long
说明
获取指定设备场景的逻辑窗口的起点
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
lpPoint POINTAPI,装载逻辑窗口起点的结构
___________________________________________________
GetWindowRgn
VB声明
Declare Function GetWindowRgn Lib "user32" Alias "GetWindowRgn" (ByVal hWnd
As Long, ByVal hRgn As Long) As Long
说明
根据以前 SetWindowRgn 函数的定义获取窗口区域
返回值
Long,下列常数之一,以描述当前剪裁区:
COMPLEXREGION:该区域有互相交叠的边界
SIMPLEREGION:该区域边界没有互相交叠
NULLREGION:区域为空
ERRORAPI:发生了错误
参数表
参数 类型及说明
hWnd Long,要获取区域的窗口
hRgn Long,区域句柄,若已设置有一个区域,则装载当前窗口区域的拷贝
注解
参考SetWindowRgn函数
____________________________________________________
GetWorldTransform
VB声明
Declare Function GetWorldTransform Lib "gdi32" Alias "GetWorldTransform" (By
Val hdc As Long, lpXform As xform) As Long
说明
如果有世界转换,为设备场景获取当前世界转换
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
lpXform xform,装载设备场景当前世界转换的结构
适用平台
Windows NT
______________________________________________________
IntersectClipRect
VB声明
Declare Function IntersectClipRect Lib "gdi32" Alias "IntersectClipRect" (By
Val hdc As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal
Y2 As Long) As Long
说明
为指定设备定义一个新的剪裁区,该区为当前剪裁区与由点X1,Y1和X2,Y2定义的矩形
的交集
返回值
Long,下列常数之一,以描述当前剪裁区:
COMPLEXREGION:该区域有互相交叠的边界
SIMPLEREGION:该区域边界没有互相交叠
NULLREGION:区域为空
ERRORAPI:发生了错误
参数表
参数 类型及说明
hdc Long,设备场景
X1,Y1 Long,矩形左上角X,Y坐标
X2,Y2 Long,矩形右下角X,Y坐标
______________________________________
InvalidateRgn
VB声明
Declare Function InvalidateRgn Lib "user32" Alias "InvalidateRgn" (ByVal hwn
d As Long, ByVal hRgn As Long, ByVal bErase As Long) As Long
说明
使窗口指定区域不活动,并将它加入窗口刷新区,使之可随后被重画
返回值
Long,TRUE
参数表
参数 类型及说明
hwnd Long,窗口句柄
hRgn Long,不活动区域句柄,该区域以窗口客户坐标定义。若该句柄为0,则将使整个
窗口客户区不活动
bErase Long,为非零值则表示要在刷新前擦除
注解
若bErase为TRUE,则刷新前整个刷新区都将被擦除而不只是定义的区域
________________________________________________________________
InvertRgn
VB声明
Declare Function InvertRgn Lib "gdi32" Alias "InvertRgn" (ByVal hdc As Long,
ByVal hRgn As Long) As Long
说明
通过颠倒每个像素值反转设备场景指定区域
返回值
Long,执行成功为非零值,失败为零
参数表
参数 类型及说明
hdc Long,设备场景句柄
hRgn Long,将反转的设备区域
__________________________________________
LPtoDP
VB声明
Declare Function LPtoDP Lib "gdi32" Alias "LPtoDP" (ByVal hdc As Long, lpPoi
nt As POINTAPI, ByVal nCount As Long) As Long
说明
将点阵从指定设备场景逻辑坐标转换为设备坐标
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,定义了逻辑坐标系统的设备场景句柄
lpPoint POINTAPI,包含逻辑坐标的点的一个或多个POINTAPI结构的第一入口,每个入
口将被转换为设备坐标
nCount Long,lpPoint阵列中的入口数
注解
若存在世界转换,lpPoint阵列中的点则是以世界坐标表示的
_______________________________________________________________
ModifyWorldTransform
VB声明
Declare Function ModifyWorldTransform Lib "gdi32" Alias "ModifyWorldTransfor
m" (ByVal hdc As Long, lpXform As xform, ByVal iMode As Long) As Long
说明
根据指定的模式修改世界转换
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景,其世界坐标将被修改
lpXform xform,这个结构内含根据iMode参数附加的转换
iMode Long,下列常数之一:
MWT_IDENTITY 设置世界转换为默认的特性转换(用该特性转换时,世界转换无效),忽
略lpXform参数
MWT_LEFTMULTIPLY lpXform转换被当前转换乘,乘积设为新的世界转换
MWT_RIGHTMULTIPLY 当前转换被lpXform转换乘,乘积设为新的世界转换
注解
与一般的乘法不同,矩阵乘法的结果与矩阵顺序有关。在MWT_LEFTMULTIPLY模式,lpXf
orm为左边的操作数。请参考高等代数相关书籍。
调用本函数前先应调用SetGraphicsMode函数设置GM_ADVANCED图形模式
适用平台
Windows NT
___________________________________________________________________
OffsetClipRgn
VB声明
Declare Function OffsetClipRgn Lib "gdi32" Alias "OffsetClipRgn" (ByVal hdc
As Long, ByVal x As Long, ByVal y As Long) As Long
说明
按指定量平移设备场景剪裁区
返回值
Long,下列常数之一,以描述当前剪裁区:
COMPLEXREGION:该区域有互相交叠的边界
SIMPLEREGION:该区域边界没有互相交叠
NULLREGION:区域为空
ERRORAPI:发生了错误
参数表
参数 类型及说明
hdc Long,设备场景
x Long,以逻辑单元表示的水平偏移
y Long,以逻辑单元表示的垂直偏移
_________________________________________
OffsetRgn
VB声明
Declare Function OffsetRgn Lib "gdi32" Alias "OffsetRgn" (ByVal hRgn As Long
, ByVal x As Long, ByVal y As Long) As Long
说明
按指定偏移量平移指定区域
返回值
Long,下列常数之一,以描述当前剪裁区:
COMPLEXREGION:该区域有互相交叠的边界
SIMPLEREGION:该区域边界没有互相交叠
NULLREGION:区域为空
ERRORAPI:发生了错误
参数表
参数 类型及说明
hRgn Long,区域句柄
x Long,以逻辑坐标表示的水平偏移量
y Long,以逻辑坐标表示的垂直偏移量
_____________________________________________________
OffsetViewportOrgEx
VB声明
Declare Function OffsetViewportOrgEx Lib "gdi32" Alias "OffsetViewportOrgEx"
(ByVal hdc As Long, ByVal nX As Long, ByVal nY As Long, lpPoint As POINTAPI
) As Long
说明
平移设备场景视口区域
返回值
Long,执行成功为非零值,失败为0
参数表
参数 类型及说明
hdc Long,设备场景句柄
nX,nY Long,将加到视口起点的水平和垂直偏移量(以设备坐标表示)
lpPoint POINTAPI,装载设备场景视口原先的起点的结构,以设备坐标表示
又臭,又硬。
小石头
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.233.140]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.138毫秒