请问如何模拟鼠标点击消息 使treeview的nodeclick事件发生
请问如何模拟鼠标点击消息 使treeview的nodeclick事件发生
希望有详尽代码,谢谢!
[解决办法]
postmessage hwnd,wm_leftbuttondown,0,[坐标]
句柄就是主窗体句柄,而坐标是相对坐标,主窗体的内部坐标.
你的TAB控件应该不会跑来跑去吧.....所以这招应该管用....
[解决办法]
用mouse_event来模拟吧,程序在响应消息时经常会取鼠标的位置,这种情况用消息是不行的。
[解决办法]
- VB code
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long '这个是设置鼠标的位置!Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) '定义鼠标事件Dim i As Long'vb模拟鼠标在屏幕的x = 10 : y = 20 的位置上点击一下左键Private Sub Form_Load() Timer1.Enabled = True Timer1.Interval = 2000 '2秒End SubPrivate Sub Timer1_Timer()Call SetCursorPos(10, 20) '让鼠标移动到(10,20)mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 '模拟鼠标的左键单击! i = i + 1Print "点击屏幕" & iEnd Sub
[解决办法]
TVM_GETITEMRECT
注意项目的 hItem 是通过 rc.Left 传进去的。
[解决办法]
用 ClientToScreen()、ScreenToClient()
或者 MapWindowPoints()
[解决办法]