以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]有没有代码可以判断当前菜单是否是用户自定义的菜单或者是系统菜单? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16194) |
||||||||||||||||
-- 作者:pc005637 -- 发布时间:2012/2/5 10:06:00 -- [求助]有没有代码可以判断当前菜单是否是用户自定义的菜单或者是系统菜单? 自己设计了菜单,定义了主表切换后菜单项目会部分显示或不显示。但当切换到系统菜单后,切换主表时会出错提示。
[此贴子已经被作者于2012-2-6 22:14:37编辑过]
|
||||||||||||||||
-- 作者:程兴刚 -- 发布时间:2012/2/5 10:15:00 -- 1、没有必要,因为您现在是以设计者身份操作,一旦非设计者进入,您不给他留切换到系统菜单的入口,他自己用热键也切换不了; 2、判断自定义菜单的某个被隐藏的功能组或所属菜单按钮是否存在来判断是否是自定义菜单试试 3、也可以变通实现,在打开自定义菜单的代码后面向某个全局变量输入一个值,在打开系统菜单的代码后面,向这个全局变量输入另一个值,您只需要判断这个值即可。 |
||||||||||||||||
-- 作者:pc005637 -- 发布时间:2012/2/5 15:18:00 -- 谢谢程版。但不知道如何设置。 方法2: 我在MainTableChanged事件中设置如下代码: Select Case MainTable.Name If RibbonTabs("自定义").Visible = True Then XXX YYY ZZZ end if Case "表B" If RibbonTabs("自定义").Visible = True Then AAA BBB CCC end if end select 切换成系统菜单时,再切换主表,会有出错提示。“菜单中不存在名为"自定义"的功能区。” 是不是代码设置错了? |
||||||||||||||||
-- 作者:程兴刚 -- 发布时间:2012/2/6 1:55:00 -- 这样试试: …… If RibbonTabs("自定义功能区").Contains("自定义功能组") = True Then ……
这个自定义功能组必须是系统菜单中没有的,只有自定义菜单中才存在的 |
||||||||||||||||
-- 作者:pc005637 -- 发布时间:2012/2/6 22:03:00 -- 还是不行啊。 出错。 此主题相关图片如下:切换.png |
||||||||||||||||
-- 作者:pc005637 -- 发布时间:2012/2/6 22:08:00 -- 已经上传附件 已经上传附件 [此贴子已经被作者于2012-2-6 22:15:08编辑过]
|
||||||||||||||||
-- 作者:czy -- 发布时间:2012/2/6 22:56:00 -- 公开的方法应该办不到吧。 偏门的方法我不会。 |
||||||||||||||||
-- 作者:程兴刚 -- 发布时间:2012/2/6 23:49:00 -- 我在五楼的代码组合错了,仔细消化一下帮助结果应该这样,您的代码也没必要那么复杂,写代码要学会精简,试试这个代码,这也许是一个最简单的方法:
If RibbonTabs.Contains(MainTable.name & "功能区") = True
不过,贺老师还需要将这一节帮助细化,否则,很难懂,需要给出实例:
项目集合 功能区、功能组、工具栏、菜单按钮、组合按钮、组合框、程序菜单、配置栏等都是容器,这些组件可容纳其他菜单组件。 项目集合的方法:
利用项目集合,可以动态生成菜单,后面的实战演练会介绍。 [此贴子已经被作者于2012-2-7 0:00:55编辑过]
|
||||||||||||||||
-- 作者:pc005637 -- 发布时间:2012/2/7 0:05:00 -- 谢谢程版的指点。 谢谢程版的指点。 |