精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓.VB电子文档集锦.〓〓>>《老猫:VB声明API》>>VB API:控件与消息函数 第二页

主题:VB API:控件与消息函数 第二页
发信人: winsy(鹰派)
整理人: winsy(2003-03-07 16:08:16), 站内信件
EnumChildWindows 

VB声明 
Declare Function EnumChildWindows Lib "user32" Alias "EnumChildWindows" (ByVal hWndParent As Long, ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long 
说明 
为指定的父窗口枚举子窗口 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hWndParent Long,欲枚举子窗口的父窗口的句柄 
lpEnumFunc Long,为每个子窗口调用的函数的指针。用AddressOf运算符获得函数在一个标准模块中的地址 
lParam Long,在枚举期间,传递给dwcbkd32.ocx定制控件之EnumWindows事件的值。这个值的含义是由程序员规定的。(原文:Value that is passed to the EnumWindows event of the dwcbkd32.ocx custom control during enumeration. The meaning of this value is defined by the programmer.) 
注解 
在vb4下要求dwcbkd32.ocx定制控件。子窗口下属的子窗口也可由这个函数枚举
 

EnumThreadWindows 

VB声明 
Declare Function EnumThreadWindows Lib "user32" Alias "EnumThreadWindows" (ByVal dwThreadId As Long, ByVal lpfn As Long, ByVal lParam As Long) As Long 
说明 
枚举与指定任务相关的窗口 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
dwThreadId Long,某线程的标识符,它的窗口将被枚举 
lpfn Long,指向一个函数的指针,要求为每个子窗口都调用这个函数。用AddressOf运算符获得函数在标准模式下的地址 
lParam Long,在枚举期间,传递给dwcbkd32d.ocx定制控件之EnumWindows事件的值。这个值的含义是由程序员规定的 
注解 
子窗口下属的其他子窗口也可由这个函数枚举
 

EnumWindows 

VB声明 
Declare Function EnumWindows& Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) 
说明 
枚举窗口列表中的所有父窗口(顶级和被所有窗口) 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
lpEnumFunc Long,指向为每个子窗口都调用的一个函数的指针。用AddressOf运算符获得函数在标准模式下的地址 
lParam Long,在枚举期间,传递给dwcbkd32.ocx定制控件之EnumWindows事件的值。这个值的含义是由程序员规定的 
注解 
我的理解——在随vb5同时提供的api32.txt文件中,找不到这个函数
 

EqualRect 

VB声明 
Declare Function EqualRect Lib "user32" Alias "EqualRect" (lpRect1 As RECT, lpRect2 As RECT) As Long 
说明 
判断两个矩形结构是否相同 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpRect1 RECT,要比较的矩形 
lpRect2 RECT,要比较的矩形 


FindWindow 

VB声明 
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
说明 
寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题) 
返回值 
Long,找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类 
lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题 
注解 
很少要求同时按类与窗口名搜索。为向自己不准备参数传递一个零,最简便的办法是传递vbNullString常数
 
示例 
Dim hw&, cnt&
Dim rttitle As String * 256
hw& = FindWindow("ThunderRT5Main", vbNullString) ' ThunderRTMain under VB4
cnt = GetWindowText(hw&, rttitle, 255)
MsgBox Left$(rttitle, cnt), 0, "RTMain title" 


FindWindowEx 

VB声明 
Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long 
说明 
在窗口列表中寻找与指定条件相符的第一个子窗口 
返回值 
Long,找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError 
参数表 
参数 类型及说明 
hWnd1 Long,在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找) 
hWnd2 Long,从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索 
lpsz1 String,欲搜索的类名。零表示忽略 
lpsz2 String,欲搜索的类名。零表示忽略 


FlashWindow 

VB声明 
Declare Function FlashWindow Lib "user32" Alias "FlashWindow" (ByVal hwnd As Long, ByVal bInvert As Long) As Long 
说明 
闪烁显示指定窗口。这意味着窗口的标题和说明文字会发生变化,似乎从活动切换到非活动状态、或反向切换。通常对不活动的窗口应用这个函数,引起用户的注意 
返回值 
Long,如窗口在调用前处于活动状态,则返回TRUE(非零) 
参数表 
参数 类型及说明 
hwnd Long,要闪烁显示的窗口的句柄 
bInvert Long,TRUE(非零)表示切换窗口标题;FALSE返回最初状态 
注解 
该函数通常与一个计数器组合使用,生成连续的闪烁效果。在windows nt及windows for workgroup中,bInvert参数会被忽略。但在windows 95中不会忽略
 

GetActiveWindow 

VB声明 
Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long 
说明 
获得活动窗口的句柄 
返回值 
Long,活动窗口的句柄,如没有窗口处于活动状态,则返回零值 


GetCapture 

VB声明 
Declare Function GetCapture Lib "user32" Alias "GetCapture" () As Long 
说明 
获得一个窗口的句柄,这个窗口位于当前输入线程,且拥有鼠标捕获(鼠标活动由它接收) 
返回值 
Long,拥有捕获的窗口的句柄。倘若当前线程中没有窗口拥有捕获,则返回零值 


GetClassInfo,GetClassInfoEx 

VB声明 
Declare Function GetClassInfo& Lib "user32" Alias "GetClassInfoA" (ByVal hInstance As Long, ByVal lpClassName As String, lpWndClass As WNDCLASS)
Declare Function GetClassInfoEx& Lib "user32" Alias "GetClassInfoExA" (ByVal hInstance As Long, ByVal lpClassName As String, lpWndClassEx As WNDCLASSEX) 
说明 
取得WNDCLASS结构(或WNDCLASSEX结构)的一个副本,结构中包含了与指定类有关的信息 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hInstance Long,指向拥有类的那个实例的一个句柄。如设为NULL,则获得与标准windows类有关的信息 
lpClassName String,欲查找的类名。也可能是个Long值,其中的低字是包含类名的一个全局(共用)原子 
lpWndClass WNDCLASS,(GetClassInfo)用于包含结果信息的结构 
lpWndClassEx WNDCLASSEX,(GetClassInfoEx)用于包含结果信息的结构 
注解 
如为这个函数使用了WNDCLASSEX参数,请务必设置其中的cbSize字段
 

GetClassLong 

VB声明 
Declare Function GetClassLong Lib "user32" Alias "GetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 
说明 
取得窗口类的一个Long变量条目 
返回值 
Long,由nIndex决定。零表示出错。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd 要为其获得类信息的窗口的句柄 
nIndex 欲取得的信息,可能是下述任何一个常数:(正数表示一个字节偏移,用于取得在额外字节中为这个类分配的类信息) 
GCL_CBCLSEXTRA 这个类结构中分配的额外字节数 
GCL_CBWNDEXTRA 窗口结构里为这个类中每个窗口分配的额外字节数 
GCL_HBRBACKGROUND 描绘这个类每个窗口的背景时,使用的默认刷子的句柄 
GCL_HCURSOR 指向这个类窗口默认光标的句柄 
GCL_HICON 这个类中窗口默认图标的句柄 
GCL_HICONSM 这个类的小图标 
GCL_HMODULE 这个类的模块的句柄 
GCL_MENUNAME 为类菜单取得名称或资源ID 
GCL_STYLE 这个类的样式 
GCL_WNDPROC 取得类窗口函数(该类窗口的默认窗口函数)的地址 


GetClassName 

VB声明 
Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long 
说明 
为指定的窗口取得类名 
返回值 
Long,以字节数表示的类名长度;排除最后的空中止字符。零表示出错。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,欲获得类名的那个窗口的句柄 
lpClassName String,随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符 
nMaxCount Long,由lpClassName提供的缓冲区长度 


GetClassWord 

VB声明 
Declare Function GetClassWord Lib "user32" Alias "GetClassWord" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 
说明 
为窗口类取得一个整数变量 
返回值 
Long,由nIndex决定。零表示出错。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,欲获得类信息的那个窗口的句柄 
nIndex Long,类信息的正偏移量;这些信息是该类的额外字节中分配的 
注解 
我的迷惑:在某参考书上是这样声明的:Declare Function GetClassWord% Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long),即函数的返回值为Integer,而从vb自带的api查看器中得到的声明表明返回值是个Long类型
 

GetClientRect 

VB声明 
Declare Function GetClientRect Lib "user32" Alias "GetClientRect" (ByVal hwnd As Long, lpRect As RECT) As Long 
说明 
返回指定窗口客户区矩形的大小 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,欲计算大小的目标窗口 
lpRect RECT,指定一个矩形,用客户区域的大小载入(以像素为单位) 
注解 
lpRect的左侧及顶部区域肯定会被这个函数设为零
 

GetDesktopWindow 

VB声明 
Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long 
说明 
获得代表整个屏幕的一个窗口(桌面窗口)句柄 
返回值 
Long,桌面窗口的句柄 
注解 
所有桌面图标都在这个窗口里拒绝。它也用于各类屏幕保护程序
 


GetFocus 

VB声明 
Declare Function GetFocus Lib "user32" Alias "GetFocus" () As Long 
说明 
获得拥有输入焦点的窗口的句柄 
返回值 
Long,拥有焦点的那个窗口的句柄。如没有窗口拥有输入焦点,则返回零 

[关闭][返回]