以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  已隐藏的按钮不显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178669)

--  作者:wukangppbb
--  发布时间:2022/7/14 17:21:00
--  已隐藏的按钮不显示
老师:
      这个菜单这里,我用的狐表自带的,但是我不想要这么多的层级,一些菜单我已经在后台隐藏了。这些隐藏的菜单怎么设置不加载出来呢?
这个菜单的是把原始菜单的菜单都加载不出来了。

if RibbonTabs("Table").Visible = False then 。。。。
这样吗?




图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/7/14 17:28:00
--  
就是判断Visible 属性,false就是隐藏,true就是显示
--  作者:wukangppbb
--  发布时间:2022/7/15 14:28:00
--  回复:(有点蓝)就是判断Visible 属性,false就...

是这样写吗?
If BaseMainForm.controls(C1Ribbon1).visible = False Then  .........


是要写在窗口的AfterLoad  事件里面还是 控件的 AfterSelectNode 里面?

--  作者:有点蓝
--  发布时间:2022/7/15 14:47:00
--  
意思是项目里的系统菜单,有些菜单在菜单设计器里隐藏了,然后不想在一楼图片里的目录树节点里显示?
--  作者:wukangppbb
--  发布时间:2022/7/15 14:56:00
--  回复:(有点蓝)意思是项目里的系统菜单,有些菜单在...
是的,因为都加载出来了,用户也不知道哪个有用,哪个没用。所以想把没有实际使用的自带的菜单隐藏掉。


应该怎么写的?

--  作者:有点蓝
--  发布时间:2022/7/15 15:12:00
--  
目录树节点是怎么生成的,到生成的代码里判断

话说回来这种权限设置窗口和功能应该是公司的管理员才有权限使用的吧,不应该给普通用户使用。既然是管理员使用的,那么就应该知道所有可以设置的菜单,包括隐藏的。如果说连管理员都用不了的菜单,有何必保留然后设置为隐藏,直接从菜单里删除不就行了?
--  作者:wukangppbb
--  发布时间:2022/7/15 17:20:00
--  回复:(有点蓝)目录树节点是怎么生成的,到生成的代...
主要是做了很多测试菜单,还不成熟,只放在后台测试。不放在前面用。删除了,不方便

Dim tv As WinForm.TreeView = e.Form.Controls("菜单权限")
tv.Nodes.Clear
tv.Nodes.Add("功能区")
For Each rtb As RibbonMenu.Tab In RibbonTabs
    If tv.Nodes("功能区").Nodes.Contains(rtb.Name) = False Then
        tv.Nodes("功能区").Nodes.Add(rtb.Name)
    End If 

我改成

Dim tv As WinForm.TreeView = e.Form.Controls("菜单权限")
tv.Nodes.Clear
tv.Nodes.Add("功能区")
For Each rtb As RibbonMenu.Tab In RibbonTabs
    If tv.Nodes("功能区").Nodes.Contains(rtb.Name) = False  then
    If rtb.visible <> False Then
        tv.Nodes("功能区").Nodes.Add(rtb.Name)
    End If
    End If 

有报错,好像逻辑不对


--  作者:有点蓝
--  发布时间:2022/7/16 8:40:00
--  
代码没有问题,报什么错?
--  作者:wukangppbb
--  发布时间:2022/7/18 16:16:00
--  回复:(有点蓝)代码没有问题,报什么错?
报错:

错误所在事件:窗口,菜单权限,AfterLoad
详细错误信息:
未将对象引用设置到对象的实例。


代码的确可以剔除一部分的隐藏菜单。但是有以上报错

--  作者:有点蓝
--  发布时间:2022/7/18 16:39:00
--  
应该是其它代码的错误

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm,看哪一句代码出错