vb 回调函数 详解

2025-08-16 03:47:47
推荐回答(2个)
回答1:

所谓回调函数,也就是你调用的那个函数内部,执行你传给他的你自己的函数。
比如有个一函数是 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

回答2:

http://bbs.bccn.net/thread-308877-1-1.html