- Код: Выделить всё
Public Function WindowProc(ByVal hwnd As Long, _
ByVal uMsg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As Long
Select Case (uMsg)
Case WM_MOUSEMOVE:
hBr = CreateSolidBrush(vbMagenta)
FillRect hdc, tR, hBr
WindowProc = 0
Case Else
WindowProc = (CallWindowProc(lpProcOrg, hwnd, uMsg, wParam, lParam))
End Select
End Function
Private Sub SubClass(ByVal hwnd As Long)
lpProcOrg = SetWindowLong(hwnd, GWL_WNDPROC, AddressOfWindowProc)
End Sub
Private Sub UnSubClass(ByVal hwnd As Long)
Dim lngRet&
lngRet = SetWindowLong(hwnd, GWL_WNDPROC, lpProcOrg)
End Sub
Private Sub UserControl_Initialize()
SubClass hwnd
End Sub
Private Sub UserControl_Terminate()
UnSubClass hwnd
End Sub
Код стоит в юзер контроле. Ругается на использование AddressOf в сабе SubClass- почему, не понятно...Мож, знает кто?