Foxtable(狐表)用户栏目专家坐堂 → [求助]菜单字体颜色


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

主题:[求助]菜单字体颜色

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


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
[求助]菜单字体颜色  发帖心情 Post By:2017/12/8 10:55:00 [只看该作者]

我希望每打开一个窗口,对应的菜单按钮字体颜色变化成指定的颜色,其他菜单按钮字体颜色恢复成默认颜色

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/8 11:09:00 [只看该作者]

设置颜色这样写

 

Dim obj = CType(BaseMainForm,C1Ribbon.C1RibbonForm).Ribbon
For Each btn As object In obj.tabs("Other").groups("Execute").items
    btn.ForeColorInner = color.blue
Next
obj.tabs("Other").groups("Execute").items("Command").ForeColorInner = color.red


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


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2017/12/8 11:17:00 [只看该作者]

好的,试试看

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


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2017/12/9 0:11:00 [只看该作者]

我把这段代码拷贝到窗口的afterload事件中,报错说“Ribbon不是...的成员”。其实,我就是想改变RibbonMenu.Button的“字体颜色”属性,我看了帮助文档,唯一没有对该属性的描述。我想知道能否用代码来设置该属性

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


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

测试没有问题,请改为自己的菜单名称

Dim obj = CType(BaseMainForm,C1Ribbon.C1RibbonForm).Ribbon
For Each btn As object In obj.tabs("Other").groups("Execute").items
    btn.ForeColorInner = color.blue
Next
obj.tabs("Other").groups("Execute").items("Command").ForeColorInner = color.red


如果是自己设计的菜单,要进入用户菜单模式进行测试

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


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2017/12/9 20:14:00 [只看该作者]

只要改“Other”、“Execute”、“Command”这些为自己菜单名字吗?
为什么提示:编译错误:“Ribbon”不是“C1.Win.C1Ribbon。C1RibbonForm”的成员。

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


加好友 发短信
等级:幼狐 帖子:196 积分:2087 威望:0 精华:0 注册:2012/10/6 17:19:00
  发帖心情 Post By:2017/12/10 10:33:00 [只看该作者]

综合别人的提问,帮助文档,我自己改进了一下:
在页面的afterload事件中,输入
Dim btn As RibbonMenu.RibbonItem
btn = RibbonTabs("A").Groups("AA").Items("AAA")
btn.ForeColor = color.SaddleBrown 

在页面的afterclose事件中,输入
Dim btn As RibbonMenu.RibbonItem
btn = RibbonTabs("A").Groups("AA").Items("AAA")
btn.ForeColor = color.Transparent

解决!不过还有一个问题,就是再增加一级按钮的话,颜色设置不管用,无论是用代码还是人工设置都不行,请狐爸看看是什么原因。
比如btn1 = RibbonTabs("A").Groups("AA").Items("AAA").Items("AAAA")
btn1.ForeColor = color.SaddleBrown
这个设置就没有任何反应,当时以为是代码的原因,后来发现手动设置代码也不行。我的是2014版,新版我还没试,不知有没有完善?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/10 15:17:00 [只看该作者]

设置下拉按钮颜色?参考

 

Dim obj = CType(BaseMainForm,C1Ribbon.C1RibbonForm).Ribbon
For Each btn As object In obj.tabs("Other").groups("Tools").items("Tools").items
    For Each o As object In btn.Gettype.getproperties
        output.show(o.name)
    Next
    'btn.ForeColorDisabled = color.red
    'btn.ForeColorInner = color.red
    btn.ForeColorMenuItem = color.blue
    'btn.ForeColorOuter = color.red
    'btn.ForeColorTextBox = color.red
Next


 回到顶部