Foxtable(狐表)用户栏目专家坐堂 → 动态生成菜单


  共有3048人关注过本帖树形打印复制链接

主题:动态生成菜单

帅哥哟,离线,有人找我吗?
hfapplehao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1944 威望:0 精华:0 注册:2018/3/30 19:56:00
动态生成菜单  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/21 22:02:00 [只看该作者]

1、如果是指动态函数的功能,参考这里的方法解决
2、删除集合要倒序删除:http://www.foxtable.com/webhelp/topics/0225.htm

菜单的Clear用法要用到自定义菜单里,建议不要直接更改系统菜单,如果不需要系统菜单,随便建一个自定义菜单,就不会有系统菜单了,然后针对自定义菜单进行操作

 回到顶部
帅哥哟,离线,有人找我吗?
hfapplehao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1944 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2022/2/22 22:59:00 [只看该作者]

谢谢老师的解惑
2.删除集合要倒序删除, 根据老师的思路,重新写了代码,问题解决

问题1.动态函数 编写完毕,可是动态生成菜单成功后,却提示找不到函数,这是什么原因呀,参见图1图片点击可在新窗口打开查看

然后重新制作了自己的菜单,并把自定义函数放进了菜单按钮,可是打开界面之后,依然出现找不到自定义函数的情况,见图2
我在猜想是不是因为函数所在的菜单目录过多的原因呀?
图片点击可在新窗口打开查看






 回到顶部
帅哥哟,离线,有人找我吗?
hfapplehao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1944 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2022/2/22 23:01:00 [只看该作者]

上一条没传上图片,这个把错误提示的图片补上来了
谢谢老师的解惑
2.删除集合要倒序删除, 根据老师的思路,重新写了代码,问题解决

问题1.动态函数 编写完毕,可是动态生成菜单成功后,却提示找不到函数,这是什么原因呀,参见图1

此主题相关图片如下:找不到自定义函数.png
按此在新窗口浏览图片

然后重新制作了自己的菜单,并把自定义函数放进了菜单按钮,可是打开界面之后,依然出现找不到自定义函数的情况,见图2
我在猜想是不是因为函数所在的菜单目录过多的原因呀?

此主题相关图片如下:自定义函数写了,但是放入自定义菜单就出问题了.png
按此在新窗口浏览图片


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/23 8:33:00 [只看该作者]

应该是某个函数代码有问题,导致Foxtable编译自定义函数失败。

如果找不到是哪个函数有问题,可以把项目文件发上来看看

 回到顶部
帅哥哟,离线,有人找我吗?
hfapplehao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:194 积分:1944 威望:0 精华:0 注册:2018/3/30 19:56:00
  发帖心情 Post By:2022/2/23 22:18:00 [只看该作者]

问题解决啦!有一个全局代码里面的变量 在新的文件中没有申明,所以才导致所有的函数都不执行
谢谢老师!

另外菜单中的splitbutton 里面的button有办法动态生成吗?
如图

图片点击可在新窗口打开查看此主题相关图片如下:组合按钮内容的生成.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106063 积分:539408 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/24 9:00:00 [只看该作者]

splitbutton 里面应该是MenuButton(菜单按钮),而不是Button。

这种菜单表里还要增加一个“上级菜单”列才行,“上级菜单”设置为splitbutton的名称

 回到顶部