以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 动态生成菜单 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=175135) |
-- 作者:hfapplehao -- 发布时间:2022/2/21 21:31:00 -- 动态生成菜单 老师早上好,有两个问题希望老师解惑 1. 通过数据表动态生成菜单后,自己写得内部函数无效了?这个是新版本的特性吗?还是我编程出问题了?
2.想通过代码的方式清除原来菜单的功能区,快速访问栏 和配置栏 代码如下 \'清除功能区 For Each rb As RibbonMenu.Tab In ribbontabs RibbonTabs.remove(rb.name) Next \'这个多点几下,能到到目的 \'清除快速访问栏 For Each itm As object In QAT.Items QAT.items.Remove(itm.name) Next \'这个只执行部分清除,还剩下几个清除不掉 For Each cb As object In configbar.Items configbar.Items.Remove(cb.name) Next \'这个跟清除快速访问栏一样的问题 参考了一些帖子,有这三个命令进行清除,可是一旦在命令窗口执行的话会无限循环.感觉最好不要用了 RibbonTabs.Clear QAT.Items.Clear ConfigBar.Items.Clear |
-- 作者:有点蓝 -- 发布时间:2022/2/21 22:02:00 -- 1、如果是指动态函数的功能,参考这里的方法解决 2、删除集合要倒序删除:http://www.foxtable.com/webhelp/topics/0225.htm 菜单的Clear用法要用到自定义菜单里,建议不要直接更改系统菜单,如果不需要系统菜单,随便建一个自定义菜单,就不会有系统菜单了,然后针对自定义菜单进行操作
|
-- 作者:hfapplehao -- 发布时间:2022/2/22 22:59:00 -- 谢谢老师的解惑 2.删除集合要倒序删除, 根据老师的思路,重新写了代码,问题解决 问题1.动态函数 编写完毕,可是动态生成菜单成功后,却提示找不到函数,这是什么原因呀,参见图1 然后重新制作了自己的菜单,并把自定义函数放进了菜单按钮,可是打开界面之后,依然出现找不到自定义函数的情况,见图2 我在猜想是不是因为函数所在的菜单目录过多的原因呀? |
-- 作者:hfapplehao -- 发布时间:2022/2/22 23:01:00 -- 上一条没传上图片,这个把错误提示的图片补上来了 谢谢老师的解惑2.删除集合要倒序删除, 根据老师的思路,重新写了代码,问题解决 问题1.动态函数 编写完毕,可是动态生成菜单成功后,却提示找不到函数,这是什么原因呀,参见图1 然后重新制作了自己的菜单,并把自定义函数放进了菜单按钮,可是打开界面之后,依然出现找不到自定义函数的情况,见图2 我在猜想是不是因为函数所在的菜单目录过多的原因呀?
|
-- 作者:有点蓝 -- 发布时间:2022/2/23 8:33:00 -- 应该是某个函数代码有问题,导致Foxtable编译自定义函数失败。 如果找不到是哪个函数有问题,可以把项目文件发上来看看
|
-- 作者:hfapplehao -- 发布时间:2022/2/23 22:18:00 -- 问题解决啦!有一个全局代码里面的变量 在新的文件中没有申明,所以才导致所有的函数都不执行 谢谢老师! 另外菜单中的splitbutton 里面的button有办法动态生成吗? 如图
|
-- 作者:有点蓝 -- 发布时间:2022/2/24 9:00:00 -- splitbutton 里面应该是MenuButton(菜单按钮),而不是Button。 这种菜单表里还要增加一个“上级菜单”列才行,“上级菜单”设置为splitbutton的名称
|