Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]怎样设置以双击方式打开树控件的菜单

沙溪一滴水  发表于:2015-08-16 20:15:53  
复制

怎样设置以双击方式打开树控件的菜单


各位老师好!以上图为例单击菜单就打开,请教怎样设置以双击的方式才打开菜单,是不是可以在以下这段代码中修改,谢谢!

Private Sub Treeview_NodeClick(ByVal Node As Object)

    Dim str As String

    If Node.Text = "销售客户" Then

        str = ""

    ElseIf Node.Key Like "*" Then

        str = "[大区名称]='" & Node.Text & "'"

    ElseIf Node.Key Like "*" Then

        str = "[省份名称]='" & Node.Text & "'"

    Else

        str = "[客户名称]='" & Node.Text & "'"

    End If

    Me.Form.FilterOn = True

    Me.Form.Filter = str

End Sub


 

Top
金宇 发表于:2015-08-16 21:06:29
Treeview_NodeClick改成Treeview_NodeDblClick 试试

mmtea 发表于:2015-08-16 22:38:19

金宇老师,还能帮我解下我的问题呀,http://www.accessoft.com/bbs/showtopic.asp?ID=24828

谢谢



飘摇王 发表于:2015-08-17 08:03:30

http://www.accessoft.com/article-show.asp?id=4613这个是双击的

代码在哪 我也不知道



沙溪一滴水 发表于:2015-08-17 11:25:37
金宇老师好!我照你方法把Treeview_NodeClick改成Treeview_NodeDblClick结果还是不行,双击后没反应,辛苦你了,还有什么方法吗?谢谢!

mmtea 发表于:2015-08-17 11:41:56
沙溪一滴水金宇老师说的是没有问题,但是你还要做一件事,就是把你的控件-属性-双击,加入【事件过程】

沙溪一滴水 发表于:2015-08-17 12:01:13
飘摇王老师好!谢谢你的热心肠,看了你推荐的文章,我似乎找到了方向,也得到刘老师的解答,他说:

 UMVsoft-刘师 2015-8-17 11:38:40

节点有单击事件,没有双击事件,树控件本身才有双击事件。主要难点在于,如何在树控件的双击事件中,判断是否双击在了某个节点上,还是双击在了空白处




沙溪一滴水 发表于:2015-08-18 15:52:18

感谢各位热心肠的老师、同学,经你们的指点,我花了几天的时间终于弄出了自己的树控件双击打开窗体的方法,主要得益于飘摇王老师的文章推荐和金宇老师的建议,在此真诚感谢!并向各位汇报一下实现双击打开树控件的心得:


要点:

1、将

     Private Sub ocxTreeMenu_NodeClick(ByVal Node As Object)  '单击

     换成

     Private Sub ocxTreeMenu_DblClick()  '双击

2、增加以下语句:

    Dim objTreeView As TreeView
    ' 设置对象类型变量(objTreeView)
    Set objTreeView = Me.ocxTreeMenu.Object
    ' 获取当前选中节点的Key
    strSelected = objTreeView.SelectedItem.key

3、把Node.key全部换成strSelected,如原先的

    If Node.key = "退出" Then
        DoCmd.Quit
    End If

   换成

    If strSelected = "退出" Then
        DoCmd.Quit
    End If


     



沙溪一滴水 发表于:2015-08-18 16:07:52

还要注意一点:Private Sub ocxTreeMenu_NodeClick(ByVal Node As Object)  括号里有ByVal Node As Object,而这个在Private Sub ocxTreeMenu_DblClick() 括号里不能有,即写成Private Sub ocxTreeMenu_DblClick(ByVal Node As Object) 是错误的




总记录:8篇  页次:1/1 9 1 :