chzj589
发表于 2016-8-31 17:55:55
回复 15# imutraveler
应该可以,但是这样有何用途?修改WM_NOTIFY和WM_COMMAND
刚修改了WM_NOTIFY,双击ListView列表条目可编辑
cfanpc
发表于 2016-8-31 22:18:07
你们真是脑洞大开啊没有想不到啊
chzj589
发表于 2016-9-1 08:26:07
本帖最后由 chzj589 于 2016-9-1 08:28 编辑
回复chzj589
嗯,看到了,只是我还是希望右键菜单是创建在Item上的,就是右键点击“以分组服务 ...
imutraveler 发表于 2016-8-31 17:10 http://www.autoitx.com/images/common/back.gif
要右键点击“以分组服务器列表”没有反映,修改WM_COMMAND加个判断就可以:
Func WM_COMMAND($hWnd, $msg, $WParam, $LParam)
#forceref $hWnd, $Msg
Local $nNotifyCode = BitShift($WParam, 16)
Local $nID = BitAND($WParam, 0x0000FFFF)
Local $hCtrl = $LParam
Switch $nID
Case $exit
Switch $nNotifyCode
Case 0
Exit
EndSwitch
Case $rclk
Switch $nNotifyCode
Case 0
$Strn1 = "已分组服务器列表"
$Strn2 = GUICtrlRead($TreeView, 1)
$Strnspin1 = StringSplit($Strn2, "|")
If $Strn1 = $Strnspin1 Then
MsgBox(48, '提示', '请选择要更新的条目', 1)
Else
MsgBox(0, "编辑", "确认要编辑分组!" & GUICtrlRead($TreeView, 1), 1)
Form2()
EndIf
EndSwitch
Case $rclka
Switch $nNotifyCode
Case 0
$Strn1 = "已分组服务器列表"
$Strn2 = GUICtrlRead($TreeView, 1)
$Strnspin1 = StringSplit($Strn2, "|")
If $Strn1 = $Strnspin1 Then
MsgBox(48, '提示', '请选择要删除的条目', 1)
Else
MsgBox(0, "删除", "确认要删除分组?" & GUICtrlRead($TreeView, 1))
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_COMMAND
heroxianf
发表于 2016-9-1 13:13:43
这个要支持一下,以后用的着。
chamlien
发表于 2016-9-3 14:05:15
回帖收藏,至今没有用过treeview
heroxianf
发表于 2016-9-3 22:39:55
回复 20# chamlien
目前用到的东西一般都是au3文件,都没做过界面。
imutraveler
发表于 2016-9-13 09:38:53
回复 18# chzj589
非常感谢,这些天出差刚回来,我按照你的思路学习一下!有问题我再来问你!
imutraveler
发表于 2016-9-15 12:46:12
本帖最后由 imutraveler 于 2016-9-15 13:02 编辑
回复 18# chzj589
兄弟,我自己研究了2天,还是有些问题。
我有强迫症,总是希望ContextMenu能创建在GroupItem上,这样配合_GUICtrlTreeView_HitTest来判断鼠标是否在项目文字上,就能实现只有右键点击项目文字上才会弹出右键菜单!
但是这样带来的问题就是 ,每个item弹出的右键菜单第一次点击“编辑分组”或“删除分组”会有响应,之后就不会有任何响应了,用msgbox观察了下,貌似是第二次开始返回的ID全变成0了!
按照你的思路,把ContextMenu创建在TreeView上,点击事件好像是没啥问题,就是整个TreeView任意位置点击右键, 都出现菜单,这个数我不能接受的!
不知道还有什么方法能研究下?麻烦了
还有就是 WM_COMMAND里面,Local $nNotifyCode 和Local $nID 是在获取什么值?
chzj589
发表于 2016-9-15 13:00:47
回复 23# imutraveler
附件不能下载!!!
imutraveler
发表于 2016-9-15 13:02:36
本帖最后由 imutraveler 于 2016-9-15 13:04 编辑
回复 24# chzj589
重新上传了!刚才 修改 文件 来着!不好意思
chzj589
发表于 2016-9-15 13:30:05
回复 23# imutraveler
如果只点击:GUICtrlCreateTreeViewItem("已分组服务器列表"项目,才显示右鍵: 编辑分组
这样可以吗?
imutraveler
发表于 2016-9-15 13:54:24
回复 26# chzj589
我是希望,,点击 “测试分组01”…… “测试分组10”这些项目上才出现菜单,其他空白区域和“以分组服务器列表”上 不会出现菜单!
chzj589
发表于 2016-9-15 14:29:24
只能右击“以分组服务器列表”项目, 才出现右鍵菜单,
右击“测试分组01”…… “测试分组10”这些子项目不能出现右鍵菜单
右击TreeView框也不能出现右鍵菜单
以上可以实现
chzj589
发表于 2016-9-15 15:21:05
回复 27# imutraveler
全部用TreeView项目创建,就可实现
imutraveler
发表于 2016-9-16 10:10:36
回复 29# chzj589
好的,麻烦提供下代码,我学习下!!谢谢了!