VB 版 (精华区)
发信人: bloom (小石头长大了), 信区: VB
标 题: 控件与消息函数(3)
发信站: 哈工大紫丁香 (2000年07月23日12:47:27 星期天), 站内信件
目录:
GetForegroundWindow 获得前台窗口的句柄
GetLastActivePopup 获得在一个给定父窗口中最近激活过的弹出式窗口的句柄
GetParent 判断指定窗口的父窗口
GetTopWindow 搜索内部窗口列表,寻找隶属于指定窗口的头一个窗口的句柄
GetUpdateRect 获得一个矩形,它描叙了指定窗口中需要更新的那一部分
GetWindow 获得一个窗口的句柄,该窗口与某源窗口有特定的关系
GetWindowContextHelpId 取得与窗口关联在一起的帮助场景ID
GetWindowLong 从指定窗口的结构中取得信息
GetWindowPlacement 获得指定窗口的状态及位置信息
GetWindowRect 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在
这个矩形内
GetWindowText 取得一个窗体的标题(caption)文字,或者一个控件的内容
GetWindowTextLength 调查窗口标题文字或控件内容的长短
GetWindowWord 获得指定窗口结构的信息
InflateRect 增大或减小一个矩形的大小
IntersectRect 这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect
两个矩形的交集
InvalidateRect 屏蔽一个窗口客户区的全部或部分区域
__________________________________________________________________
GetForegroundWindow
VB声明
Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow
" () As Long
说明
获得前台窗口的句柄。这里的“前台窗口”是指前台应用程序的活动窗口
返回值
Long,前台窗口的句柄
注解
windows nt支持多个桌面,它们相互间是独立的。每个桌面都有自己的前台窗口
Top
____________________________________________________________________
GetLastActivePopup
VB声明
Declare Function GetLastActivePopup Lib "user32" Alias "GetLastActivePopup"
(ByVal hwndOwnder As Long) As Long
说明
获得在一个给定父窗口中最近激活过的弹出式窗口的句柄(在vb里使用:vb应用程序不
用弹出式窗口,所以这个函数并非特别有用)
返回值
Long,指向最近用过的弹出式窗口的句柄。如未发现弹出窗口。则返回hwndOwnder
参数表
参数 类型及说明
hwndOwnder Long,父窗口
Top
_________________________________________________________
GetParent
VB声明
Declare Function GetParent Lib "user32" Alias "GetParent" (ByVal hwnd As Lon
g) As Long
说明
判断指定窗口的父窗口
返回值
Long,父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,欲测试的窗口的句柄
__________________________________
GetTopWindow
VB声明
Declare Function GetTopWindow Lib "user32" Alias "GetTopWindow" (ByVal hwnd
As Long) As Long
说明
搜索内部窗口列表,寻找隶属于指定窗口的头一个窗口的句柄
返回值
Long,位于指定窗口内部的顶级子窗口的句柄
参数表
参数 类型及说明
ByVal Long,想在其中搜寻顶级子的窗口。零表示寻找位于桌面的顶级窗口
注解
Z序列中的顶级窗口也是内部窗口列表的第一个窗口
____________________________________________
GetUpdateRect
VB声明
Declare Function GetUpdateRect Lib "user32" Alias "GetUpdateRect" (ByVal hwn
d As Long, lpRect As RECT, ByVal bErase As Long) As Long
说明
获得一个矩形,它描叙了指定窗口中需要更新的那一部分(在vb里使用:到一个vb窗体
或控件里发生paint事件的时候,更新区域已被清除了。所以这个函数对于vb来说是没有
意义的。然而,可用一个子类模块拦截一个窗体或控件的WM_PAINT消息,在vb自行清除
之前了解更新区域在哪里)
返回值
Long,非零表示成功,零表示失败
参数表
参数 类型及说明
hwnd Long,欲在其中调查更新区域的那个窗口
lpRect RECT,随同更新坐标载入的矩形
bErase Long,设置TRUE(非零),清除更新区域
注解
如窗口类样式拥有CS_OWNDC集,且窗口映射模式不是MM_TEXT,那么更新矩形会用逻辑坐
标表示
____________________________________
GetWindow
VB声明
Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Lon
g, ByVal wCmd As Long) As Long
说明
获得一个窗口的句柄,该窗口与某源窗口有特定的关系
返回值
Long,由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零
值。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,源窗口
wCmd Long,指定结果窗口与源窗口的关系,它们建立在下述常数基础上:
GW_CHILD 寻找源窗口的第一个子窗口
GW_HWNDFIRST 为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口
GW_HWNDLAST 为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗
口
GW_HWNDNEXT 为源窗口寻找下一个兄弟窗口
GW_HWNDPREV 为源窗口寻找前一个兄弟窗口
GW_OWNER 寻找窗口的所有者
注解
兄弟或同级是指在整个分级结构中位于同一级别的窗口。如某个窗口有五个子窗口,那
五个窗口就是兄弟窗口。尽管GetWindow可用于枚举窗口,但倘若要在枚举过程中重新定
位、创建和清除窗口,那么EnumWindows和EnumChildWindows更为可靠
________________________________________________________________
GetWindowContextHelpId
VB声明
Declare Function GetWindowContextHelpId Lib "user32" Alias "GetWindowContext
HelpId" (ByVal hWnd As Long) As Long
说明
取得与窗口关联在一起的帮助场景ID
返回值
Long,帮助场景ID(如果有的话),否则返回零
参数表
参数 类型及说明
hWnd Long,欲获取帮助场景的那个窗口的句柄
注解
在vb环境中,这个函数不能取得一个vb窗体或控件的帮助场景的ID集
________________________________________
GetWindowLong
VB声明
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hw
nd As Long, ByVal nIndex As Long) As Long
说明
从指定窗口的结构中取得信息
返回值
Long,由nIndex决定。零表示出错。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,欲为其获取信息的窗口的句柄
nIndex Long,欲取回的信息,可以是下述任何一个常数:
GWL_EXSTYLE 扩展窗口样式
GWL_STYLE 窗口样式
GWL_WNDPROC 该窗口的窗口函数的地址
GWL_HINSTANCE 拥有窗口的实例的句柄
GWL_HWNDPARENT 该窗口之父的句柄。不要用SetWindowWord来改变这个值
GWL_ID 对话框中一个子窗口的标识符
GWL_USERDATA 含义由应用程序规定
DWL_DLGPROC 这个窗口的对话框函数地址
DWL_MSGRESULT 在对话框函数中处理的一条消息返回的值
DWL_USER 含义由应用程序规定
_____________________________________________________
GetWindowPlacement
VB声明
Declare Function GetWindowPlacement Lib "user32" Alias "GetWindowPlacement"
(ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
说明
获得指定窗口的状态及位置信息
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,欲获取信息的那个窗口的句柄
lpwndpl WINDOWPLACEMENT,包含的窗口位置和状态信息的结构
注解
在调用这个函数之前,请务必设置WINDOWPLACEMENT结构的长度字段
_______________________________________________________
GetWindowRect
VB声明
Declare Function GetWindowRect Lib "user32" Alias "GetWindowRect" (ByVal hwn
d As Long, lpRect As RECT) As Long
说明
获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,想获得范围矩形的那个窗口的句柄
lpRect RECT,屏幕坐标中随同窗口装载的矩形
注解
如将它与通过GetDesktopWindow获得的句柄联合使用,可获得对整个可视显示区域(桌
面)进行说明的矩形
__________________________________________________________________
GetWindowText
VB声明
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hw
nd As Long, ByVal lpString As String, ByVal cch As Long) As Long
说明
取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体
或控件的caption或text属性)
返回值
Long,复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,欲获取文字的那个窗口的句柄
lpString String,预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
cch Long,lpString缓冲区的长度
注解
不能用它从另一个应用程序的编辑控件中获取文字
__________________________________________________
GetWindowTextLength
VB声明
Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLength
A" (ByVal hwnd As Long) As Long
说明
调查窗口标题文字或控件内容的长短(在vb里使用:直接使用vb窗体或控件的caption或
text属性)
返回值
Long,字串长度,不包括空中止字符
参数表
参数 类型及说明
hwnd Long,想调查文字长度的窗口的句柄
________________________________________________________________
GetWindowWord
VB声明
Declare Function GetWindowWord Lib "user32" Alias "GetWindowWord" (ByVal hwn
d As Long, ByVal nIndex As Long) As Integer
说明
获得指定窗口结构的信息
返回值
Long,由nIndex决定
参数表
参数 类型及说明
hwnd Long,想获取信息的那个窗口的句柄
nIndex Long,正偏移值,指出在窗口额外字节分配的空间中取得的信息
__________________________________________________
InflateRect
VB声明
Declare Function InflateRect Lib "user32" Alias "InflateRect" (lpRect As REC
T, ByVal x As Long, ByVal y As Long) As Long
说明
这个函数用于增大或减小一个矩形的大小。x加在右侧区域,并从左侧区域减去;如x为
正,则能增大矩形的宽度;如x为负,则能减小它。y对顶部与底部区域产生的影响是是
类似的
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpRect RECT,欲修改的矩形
x Long,用这个数字修改宽度
y Long,用这个数字修改高度
注解
注意宽度和高度的实际改变量是x及y参数值的两倍
__________________________________________________________
IntersectRect
VB声明
Declare Function IntersectRect Lib "user32" Alias "IntersectRect" (lpDestRec
t As RECT, lpSrc1Rect As RECT, lpSrc2Rect As RECT) As Long
说明
这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect两个矩形的交集
。如两个源矩形根本未发生重叠,则lpDestRect会被设为一个空矩形
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpDestRect RECT,目标矩形,用于包含lpSrc1Rect与lpSrc2Rect两个矩形的重合部分
lpSrc1Rect RECT,第一个源矩形
lpSrc2Rect RECT,第二个源矩形
________________________________________________________
IntersectRect
VB声明
Declare Function IntersectRect Lib "user32" Alias "IntersectRect" (lpDestRec
t As RECT, lpSrc1Rect As RECT, lpSrc2Rect As RECT) As Long
说明
这个函数在lpDestRect里载入一个矩形,它是lpSrc1Rect与lpSrc2Rect两个矩形的交集
。如两个源矩形根本未发生重叠,则lpDestRect会被设为一个空矩形
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
lpDestRect RECT,目标矩形,用于包含lpSrc1Rect与lpSrc2Rect两个矩形的重合部分
lpSrc1Rect RECT,第一个源矩形
lpSrc2Rect RECT,第二个源矩形
______________________________________________
又臭,又硬。
小石头
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.233.140]
--
※ 修改:·bloom 於 07月23日12:52:57 修改本文·[FROM: 202.118.233.140]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.930毫秒