精华区 [关闭][返回]

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

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

VB声明 
Declare Function IsChild Lib "user32" Alias "IsChild" (ByVal hWndParent As Long, ByVal hwnd As Long) As Long 
说明 
判断一个窗口是否为另一窗口的子或隶属窗口 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hWndParent Long,父窗口的句柄 
hwnd Long,欲测试的窗口的句柄 


IsIconic 

VB声明 
Declare Function IsIconic Lib "user32" Alias "IsIconic" (ByVal hwnd As Long) As Long 
说明 
判断窗口是否已最小化 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hwnd Long,待检测窗口的句柄 


IsRectEmpty 

VB声明 
Declare Function IsRectEmpty Lib "user32" Alias "IsRectEmpty" (lpRect As RECT) As Long 
说明 
判断一个矩形是否为空 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpRect RECT,要检查的矩形 


IsWindow 

VB声明 
Declare Function IsWindow Lib "user32" Alias "IsWindow" (ByVal hwnd As Long) As Long 
说明 
判断一个窗口句柄是否有效 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hwnd Long,待检查窗口的句柄 
注解 
如在一个程序变量里容纳了窗口句柄,为了解它是否仍然有效,就可考虑使用这个函数
 

IsWindowEnabled 

VB声明 
Declare Function IsWindowEnabled Lib "user32" Alias "IsWindowEnabled" (ByVal hwnd As Long) As Long 
说明 
判断窗口是否处于活动状态(在vb里使用:针对vb窗体和控件,请用enabled属性) 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hwnd Long,待检测窗口的句柄 


IsWindowUnicode 

VB声明 
Declare Function IsWindowUnicode Lib "user32" Alias "IsWindowUnicode" (ByVal hwnd As Long) As Long 
说明 
判断一个窗口是否为Unicode窗口。这意味着窗口为所有基于文本的消息都接收Unicode文字 
返回值 
Long,如是个Unicode窗口则返回非零值,如是个ANSI窗口则返回零 
参数表 
参数 类型及说明 
hwnd Long,窗口句柄 
注解 
在vb里无须担心这方面的问题,windows会自动转换引用了文本的消息,以满足窗口接收消息的需要
 

IsWindowVisible 

VB声明 
Declare Function IsWindowVisible Lib "user32" Alias "IsWindowVisible" (ByVal hwnd As Long) As Long 
说明 
判断窗口是否可见 
返回值 
Long,如窗口可见则返回TRUE(非零) 
参数表 
参数 类型及说明 
hwnd Long,要测试的那个窗口的句柄 
注解 
窗口可能处于可见状态,同时仍被位于它顶部的其他可见窗口(排在内部窗口列表的前面)隐藏起来
 

IsZoomed 

VB声明 
Declare Function IsZoomed Lib "user32" Alias "IsZoomed" (ByVal hwnd As Long) As Long 
说明 
判断窗口是否最大化 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hwnd Long,欲测试的窗口的句柄 


LockWindowUpdate 

VB声明 
Declare Function LockWindowUpdate Lib "user32" Alias "LockWindowUpdate" (ByVal hwndLock As Long) As Long 
说明 
锁定指定窗口,禁止它更新。同时只能有一个窗口处于锁定状态 
返回值 
Long,非零表示成功,零表示失败(比如另外已有一个窗口锁定) 
参数表 
参数 类型及说明 
hwndLock Long,欲锁定窗口的句柄。如设为零,则对窗口解锁 
注解 
windows会跟踪锁定窗口的区域,并会在窗口解锁后重画它们。可用GetDCEx获得一个特殊的设备场景,令其与锁定窗口协同工作,从而描绘一个加锁的窗口。这种技术的一个应用场合是创建跟踪矩形(比如用于改变窗口大小的矩形)
 

MapWindowPoints 

VB声明 
Declare Function MapWindowPoints& Lib "user32" (ByVal hwndFrom As Long, ByVal hwndTo As Long, lppt As POINTAPI, ByVal cPoints As Long) 
说明 
将一个窗口客户区坐标的点转换到另一窗口的客户区坐标系统(在vb里使用:无论向函数传递单独一个点,还是传递数组中的第一个POINTAPI结构,都要特别谨慎。数组中的条目数量至少等于由cPoints参数指定的数量) 
返回值 
Long,低字代表映射过程中添加给每个点的水平偏移,高字则代表垂直偏移 
参数表 
参数 类型及说明 
hwndFrom Long,定义源坐标的窗口。用零或桌面窗口句柄指定屏幕坐标 
hwndTo Long,定义目标坐标的窗口。用零或桌面窗口句柄指定屏幕坐标 
lppt POINTAPI,点结构中待转换的第一个条目。注意RECT结构在内存中组织成两个连续的POINTAPI结构。这样就可为该函数创建一个别名,并使用RECT结构;而不是POINTAPI结构。如这样做时,注意将cPoints的值加倍 
cPoints Long,欲转换的点数 
注解 
在vb自带的api查看器中复制的声明为:Declare Function MapWindowPoints Lib "user32" Alias "MapWindowPoints" (ByVal hwndFrom As Long, ByVal hwndTo As Long, lppt As Any, ByVal cPoints As Long) As Long,请注意:lppt As Any
 

MoveWindow 

VB声明 
Declare Function MoveWindow Lib "user32" Alias "MoveWindow" (ByVal hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long 
说明 
改变指定窗口的位置和大小。顶级窗口可能受最大或最小尺寸的限制,那些尺寸优先于这里设置的参数 
返回值 
Long,非零表示成功,零表示失败 
参数表 
参数 类型及说明 
hwnd Long,欲移动窗口的句柄 
x Long,窗口新的左侧位置 
y Long,窗口新的顶部位置 
nWidth Long,窗口的新宽度 
nHeight Long,窗口的高宽度 
bRepaint Long,如窗口此时应重画,则设为TRUE(非零)。FALSE(零)则表明应用程序会自己决定是否重画窗口 


OffsetRect 

VB声明 
Declare Function OffsetRect Lib "user32" Alias "OffsetRect" (lpRect As RECT, ByVal x As Long, ByVal y As Long) As Long 
说明 
该函数通过应用一个指定的偏移,从而让矩形移动起来。x会添加到右侧和左侧区域。y添加到顶部和底部区域。偏移方向则取决于参数是正数还是负数,以及采用的是什么坐标系统 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpRect RECT,欲移动的矩形 
x Long,水平偏移量 
y Long,垂直偏移量 



OpenIcon 

VB声明 
Declare Function OpenIcon Lib "user32" Alias "OpenIcon" (ByVal hwnd As Long) As Long 
说明 
恢复一个最小化的程序,并将其激活 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,欲恢复的窗口 
注解 
针对vb窗体,应使用vb的WindowState属性
 

PtInRect 

VB声明 
Declare Function PtInRect Lib "user32" Alias "PtInRect" (lpRect As RECT, pt As POINTAPI) As Long 
说明 
这个函数判断指定的点是否位于矩形lpRect内部 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
lpRect RECT,欲检查的矩形 
pt POINTAPI,欲判断的点 
注解 
如点位于矩形四边之内,或矩形的顶部或左侧边线上,则认为它在矩形内部。如位于矩形的右侧或底部边线,则不认为它在矩形内部
 

RedrawWindow 

VB声明 
Declare Function RedrawWindow Lib "user32" Alias "RedrawWindow" (ByVal hwnd As Long, lprcUpdate As RECT, ByVal hrgnUpdate As Long, ByVal fuRedraw As Long) As Long 
说明 
根据fuRedraw旗标的设置,重画全部或部分窗口 
返回值 
Long,非零表示成功,零表示失败。会设置GetLastError 
参数表 
参数 类型及说明 
hwnd Long,要重画的窗口的句柄。零表示更新桌面窗口 
lprcUpdate RECT,窗口中需要重画的一个矩形区域 
hrgnUpdate Long,一个“区”的句柄,这个区描述了要重画的窗口区域。“区”:Region 
fuRedraw Long,规定具体重画操作的旗标。下列常数可组合使用,从而进行复杂的重画行动 
RDW_ERASE 重画前,先清除重画区域的背景。也必须指定RDW_INVALIDATE 
RDW_FRAME 如非客户区包含在重画区域中,则对非客户区进行更新。也必须指定RDW_INVALIDATE 
RDW_INTERNALPAINT 即使窗口并非无效,也向其投递一条WM_PAINT消息 
RDW_INVALIDATE 禁用(屏蔽)重画区域 
RDW_NOERASE 禁止删除重画区域的背景 
RDW_NOFRAME 禁止非客户区域重画(如果它是重画区域的一部分)。也必须指定RDW_VALIDATE 
RDW_NOINTERNALPAINT 禁止内部生成或由这个函数生成的任何待决WM_PAINT消息。针对无效区域,仍会生成WM_PAINT消息 
RDW_VALIDATE 检验重画区域 
RDW_ERASENOW 立即删除指定的重画区域 
RDW_UPDATENOW 立即更新指定的重画区域 
RDW_ALLCHILDREN 重画操作包括子窗口(前提是它们存在于重画区域) 
RDW_NOCHILDREN 重画操作排除子窗口(前提是它们存在于重画区域) 
注解 
如针对桌面窗口应用这个函数,则应用程序必须用RDW_ERASE旗标重画桌面
 

ReleaseCapture 

VB声明 
Declare Function ReleaseCapture Lib "user32" Alias "ReleaseCapture" () As Long 
说明 
为当前的应用程序释放鼠标捕获 
返回值 
Long,TRUE(非零)表示成功,零表示失败 
注解 
我的理解:与SetCapture函数一起使用,用于判断鼠标离开(mouseleave)事件 

[关闭][返回]