找回密码
 加入
搜索
查看: 4695|回复: 6

[AU3基础] 如何实现对treeview中某个节点双击?

[复制链接]
发表于 2015-1-13 21:03:09 | 显示全部楼层 |阅读模式
可以得到treeview某个节点, 并选中, 但如何实现鼠标双击呢? 这个treeview节点只能双击打开其它窗口,无法用快捷菜单,回车之类的打开.
发表于 2015-1-14 11:27:47 | 显示全部楼层
#Include <GuiTreeView.au3>
_GUICtrlTreeView_ClickItem($hWnd, $hItem[, $sButton = "left"[, $fMove = False[, $iClicks = 1[, $iSpeed = 0]]]])

这个是先取项目位置再用鼠标去点的
发表于 2015-1-14 11:31:58 | 显示全部楼层
有些程序会在响应点击里判断鼠标位置是否在点击项目上,不在不响应。
发表于 2015-1-14 11:50:29 | 显示全部楼层

#Include <GuiTreeView.au3>
#Include <WinAPI.au3>

$WinTitle = "窗口标题"
$ControlID = "控件ID"
$hWnd = ControlGetHandle($WinTitle, "", $ControlID )
$hItem = _GUICtrlTreeView_FindItem($hWnd, ControlTreeView($WinTitle, "", $ControlID, "GetText", "根项目|子项目  或用#0 #1 #3索引"))
Local $tRect = _GUICtrlTreeView_DisplayRectEx($hWnd, $hItem, True)
If @error Then Exit
Local $tPoint = _WinAPI_PointFromRect($tRect, True)
Local $iX, $iY
_WinAPI_GetXYFromPoint($tPoint, $iX, $iY)
ControlClick($WinTitle, "",$ControlID , "left", 2, $iX, $iY)

可以上面这样试试,这样没有鼠标过程。
如果不行应该有判断鼠标位置再用下面的方法模拟鼠标

#Include <GuiTreeView.au3>
#Include <WinAPI.au3>

$WinTitle = "窗口标题"
$ControlID = "控件ID"
$hWnd = ControlGetHandle($WinTitle, "", $ControlID )
$hItem = _GUICtrlTreeView_FindItem($hWnd, ControlTreeView($WinTitle, "", $ControlID, "GetText", "根项目|子项目  或用#0 #1 #3索引"))
_GUICtrlTreeView_ClickItem($hWnd, $hItem, "left", False, 2)
 楼主| 发表于 2015-1-14 20:14:48 | 显示全部楼层
多谢! 请问autoitX有相应的函数吗? DataGridView这种控件能不能判断出选中的cell的值?
 楼主| 发表于 2015-1-14 20:15:26 | 显示全部楼层
回复 2# zhouhaijin


    多谢! 请问autoitX有相应的函数吗? DataGridView这种控件能不能判断出选中的cell的值?
发表于 2015-1-15 08:56:14 | 显示全部楼层
学习学习。。。。。。。。。。。。。。。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 14:52 , Processed in 0.074093 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表