ContextMenus("Cell")("sccj").Enabled=false
.Items 去掉
[此贴子已经被作者于2009-10-5 19:37:07编辑过]
呵呵,不是这个问题,把
Items去掉只是简写而已。
快捷菜单中有两种类型,一个是ContextCommand(菜单命令),一个是ContextCommandMenu(子菜单)。
Enabled属性对于菜单命令是正常的,但对于子菜单无效。
在默认菜单下,通过命令窗口试一下这个代码就知道了:ContextMenus("Cell").Items("Filter").Enabled = False。筛选子菜单还是没有被禁止。
[此贴子已经被作者于2009-10-5 20:26:39编辑过]
以下是引用狐狸爸爸在2009-10-7 11:02:00的发言:
For Each cmd as RibbonMenu.ContextCommand in ContextMenus("Cell").Items("Filter").Items
cmd.Enabled = False
Next
这个代码只能对子菜单下的ContextCommand有效吧?如果该子菜单下又有子菜单,估计就不行了。
有没有什么办法可以对Items集合中的所有项目都遍历一遍?其实,功能区菜单中的Groups也存在这样的问题:该组中有标准按钮,也可能有菜单按钮、复选按钮。。。想读取该集合中的全部项目很麻烦。因为遍历该集合的时候,必须要先定义一个类型。如果集合中没有这种类型,还会出错。
以下是引用狐狸爸爸在2009-10-7 11:02:00的发言:
菜单控件的问题,我解决不了
呵呵,你都是狐狸他爸了,怎么选择购买的控件还有问题?
以下是引用狐狸爸爸在2009-10-8 9:16:00的发言:
有解的,大家自己先想想
就拿菜单中的Group来说吧:一个组里有不同类型的菜单组件,如标准按钮、菜单按钮、复选按钮等等。怎样才能对该组中的Items全部遍历一遍呢?是不是在该集合中再嵌套一个组件类型的循环?如果是这样的话,那么怎样才能得到菜单组件的类型呢?
就是因为无解,我只好将“用户权限管理”中的“可使用菜单功能”只设置到了group这一级。请老六公布答案吧,谢谢!