找回密码
 加入
搜索
楼主: imutraveler

[GUI管理] TreeView子项目上创建右键菜单问题?求助!(已解决)

 火.. [复制链接]
发表于 2016-8-31 17:55:55 | 显示全部楼层
回复 15# imutraveler

应该可以,但是这样有何用途?修改WM_NOTIFY和WM_COMMAND
刚修改了WM_NOTIFY,双击ListView列表条目可编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-8-31 22:18:07 | 显示全部楼层
你们真是脑洞大开啊  没有想不到啊
发表于 2016-9-1 08:26:07 | 显示全部楼层
本帖最后由 chzj589 于 2016-9-1 08:28 编辑
回复  chzj589


    嗯,看到了,只是我还是希望右键菜单是创建在Item上的,就是右键点击“以分组服务 ...
imutraveler 发表于 2016-8-31 17:10

要右键点击“以分组服务器列表”没有反映,修改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[1] 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[1] Then
                                                MsgBox(48, '提示', '请选择要删除的条目', 1)
                                        Else
                                                MsgBox(0, "删除", "确认要删除分组?" & GUICtrlRead($TreeView, 1))
                                        EndIf
                        EndSwitch
        EndSwitch
        Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND
发表于 2016-9-1 13:13:43 | 显示全部楼层
这个要支持一下,以后用的着。
发表于 2016-9-3 14:05:15 | 显示全部楼层
回帖收藏,至今没有用过treeview
发表于 2016-9-3 22:39:55 | 显示全部楼层
回复 20# chamlien


    目前用到的东西一般都是au3文件,都没做过界面。
 楼主| 发表于 2016-9-13 09:38:53 | 显示全部楼层
回复 18# chzj589


    非常感谢,这些天出差刚回来,我按照你的思路学习一下!有问题我再来问你!
 楼主| 发表于 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   是在获取什么值?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2016-9-15 13:00:47 | 显示全部楼层
回复 23# imutraveler
附件不能下载!!!
 楼主| 发表于 2016-9-15 13:02:36 | 显示全部楼层
本帖最后由 imutraveler 于 2016-9-15 13:04 编辑

回复 24# chzj589


    重新上传了!  刚才 修改 文件 来着!不好意思
发表于 2016-9-15 13:30:05 | 显示全部楼层
回复 23# imutraveler
如果只点击:GUICtrlCreateTreeViewItem("已分组服务器列表"项目,才显示右鍵: 编辑分组
这样可以吗?
 楼主| 发表于 2016-9-15 13:54:24 | 显示全部楼层
回复 26# chzj589


    我是希望,,点击 “测试分组01”  …… “测试分组10”  这些项目上才出现菜单,其他空白区域和“以分组服务器列表”上 不会出现菜单!
发表于 2016-9-15 14:29:24 | 显示全部楼层
只能右击“以分组服务器列表”项目, 才出现右鍵菜单,
右击“测试分组01”  …… “测试分组10”  这些子项目不能出现右鍵菜单
右击TreeView框也不能出现右鍵菜单
以上可以实现
发表于 2016-9-15 15:21:05 | 显示全部楼层
回复 27# imutraveler
全部用TreeView项目创建,就可实现

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2016-9-16 10:10:36 | 显示全部楼层
回复 29# chzj589


    好的,麻烦提供下代码,我学习下!!谢谢了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-4 22:06 , Processed in 0.075041 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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