首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

请教怎么模拟鼠标点击消息 使treeview的nodeclick事件发生

2012-03-15 
请问如何模拟鼠标点击消息 使treeview的nodeclick事件发生请问如何模拟鼠标点击消息 使treeview的nodeclic

请问如何模拟鼠标点击消息 使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()
[解决办法]
探讨
貌似只能找到和当前节点有特定关系的节点的hitem。如果就想找一个指定节点对应的hItem,和当前节点没任何关系的。该如何做?

热点排行