vb 回调函数 详解

最近接触了Enumwindow ,接触了回调函数,但是半懂半不懂。现在理解的是,这个API只管遍历窗口,并把取得的句柄传给 自定义函数,并根据自定义函数 的 true或者false来确定是否继续循环。但是具体怎么用不是很明白,看代码还是有点晕。
能不能通俗的给个例子呢,或者一个具体代码。
还有enumwindow一定要整成回调函数么,不能用变量中介吗
现在卡在回调函数上了,求解

所谓回调函数,也就是你调用的那个函数内部,执行你传给他的你自己的函数。
比如有个一函数是 A,现在调用A并且把B函数(或者C函数D函数等任意一个函数)当参数传给A,在A的内部执行你传给他的函数,其实函数本身也可以当参数传递。
以一个简单的例子
'---------------------------窗口代码
Private Sub Form_Load()
Call A(AddressOf B)
Call A(AddressOf C)
Call A(AddressOf D)
'可以传递任意一个函数作为参数传递给A,并且在A函数中执行作为参数传递进来的函数
End Sub

'---------------------------模块代码
Declare Function CallWindowProc Lib "User32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Sub A(FunAddress As Long)
CallWindowProc FunAddress, 0, 0, 0, 0
End Sub
Public Sub B()
MsgBox "BBBB"
End Sub
Public Sub C()
MsgBox "CCCC"
End Sub
Public Sub D()
MsgBox "DDDD"
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-16

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网