读书人

小弟我想当鼠标在form标题栏(Caption)

发布时间: 2012-01-18 00:23:26 作者: rapoo

我想当鼠标在form标题栏(Caption)上面时,执行一段代码,如何实现?
我想当鼠标在form标题栏(Caption)上面时,执行一段代码,如何实现?

[解决办法]
我记得好像用API,你查查看
[解决办法]
用API获取鼠标坐标
[解决办法]
模块代码:
Public Declare Function SetWindowLong Lib "user32 " Alias "SetWindowLongA " (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public 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 Const GWL_WNDPROC = (-4)
Public Const WM_NCMOUSEMOVE = &HA0
Public PrevProc As Long
Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
WindowProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)
If uMsg = WM_NCMOUSEMOVE Then
Debug.Print "鼠标在标题栏移动 "
End If
End Function

窗体代码:

Private Sub Form_Load()
PrevProc = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub

Private Sub Form_Unload(Cancel As Integer)
SetWindowLong Me.hwnd, GWL_WNDPROC, PrevProc
End Sub
[解决办法]
触发时机,需要仔细考虑......

读书人网 >VB

热点推荐