您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 开发专栏 > VB开发 > 正文
·速成电脑精英(包分配)白领高薪一族从这里开始



-Java套接字编程(下)
-MediaStudio Pro 6.5教程
-三款卸载软件最新试用
-基于Visual C++的Winsock API研究

“回调”(CallBacks)的实现
2001-11-24· · ··yesky

1 2  下一页

  所谓回调,就是你自己定义一个函数,并告诉Windows何时为何调用。你可以写一个有特定数量和类型参数的函数,然后告诉Windows何时调用,并传递给它所需的参数.Windows就会调用你定义的函数,处理参数,并给你返回值。

  回调的一个典型应用是从Windows获得连续的数据流。这里是一个需要回调的函数的声明:

Declare Function EnumWindows Lib "User32"ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long

  第一个参数是你的回调函数的地址,第二个参数是你想传递的的任意数值.该值将被传递到你的函数,于是你就知道了它要调用什么。

  VB 5.0已经提供了一个很有用的操作符 AddressOf,可以得到一个函数的地址.当你调用一个函数时它只能用在参数的前面,下面这种用法是错误的并且会导致出错:

FuncP = AddressOf MyFunction


  因此你必须这样调用EnumWindows函数:

Success& = EnumWindows(AddressOf cbFunc, 58&)

  你必须也要自己写回调函数.问题是有很多不同类别的回调并且有各种各样的参数,有关这些参数的描述可以在SDK帮助或MS SDK文档中找到.这里是一个回调的声明:

Function cbFunc (ByVal Hwnd, ByVal lParam) as Long

1 2  下一页

■ 相关内容
 利用RAS调用在VB6.0中实现拨号上网
 消息传递在VB中的应用
 VB中利用MapX创建用户定制工具
 如何提高调用Window API函数编程技巧
 在菜单中加入图标
 闪烁的标题栏
 如何取得计算机名
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!