有这样一段代码:
Private Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
'call API Function
WndProc = CallWindowProc(mprevWndProc, hWnd, Msg, wParam, lParam)
Select Case Msg
Case WM_COMMAND
Select Case wParam
Case CBN_CLOSEUP 'closeup the dropdown
mSelStatus = 0
Case CBN_SELENDCANCEL 'not selection
mSelStatus = 2
Case CBN_SELENDOK 'selection
mSelStatus = 1
End Select
End Select
End Function
'执行到这个函数时,就报有一个AddressOf操作符的语法错误,光标就停到方框处.
'请大家帮忙看一下到底哪有错。
Private Function GetPrevHandl(ByVal frmhWnd As Long) As Long
On Error GoTo Handle_Error
GetPrevHandl = 0
mprevWndProc = GetWindowLong(frmhWnd, GWL_WNDPROC)
____________________
Call SetWindowLong(frmhWnd, GWL_WNDPROC,| AddressOf WndProc|)
--------------------
Exit Function
Handle_Error:
GetPrevHandl = -1
End Function
'谢谢了
Private Function WndProc(ByVal hWnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
'call API Function
WndProc = CallWindowProc(mprevWndProc, hWnd, Msg, wParam, lParam)
Select Case Msg
Case WM_COMMAND
Select Case wParam
Case CBN_CLOSEUP 'closeup the dropdown
mSelStatus = 0
Case CBN_SELENDCANCEL 'not selection
mSelStatus = 2
Case CBN_SELENDOK 'selection
mSelStatus = 1
End Select
End Select
End Function
'执行到这个函数时,就报有一个AddressOf操作符的语法错误,光标就停到方框处.
'请大家帮忙看一下到底哪有错。
Private Function GetPrevHandl(ByVal frmhWnd As Long) As Long
On Error GoTo Handle_Error
GetPrevHandl = 0
mprevWndProc = GetWindowLong(frmhWnd, GWL_WNDPROC)
____________________
Call SetWindowLong(frmhWnd, GWL_WNDPROC,| AddressOf WndProc|)
--------------------
Exit Function
Handle_Error:
GetPrevHandl = -1
End Function
'谢谢了
ByVal wParam As Long, ByVal lParam As Long) As Long
此函数应在一模块(.BAS)中定义且Private要改为Public即可.
但是一运行就死机,不知道是怎么回事.烦请指教!!