以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]菜单字体颜色  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=110726)

--  作者:wangnovel
--  发布时间:2017/12/8 10:55:00
--  [求助]菜单字体颜色
我希望每打开一个窗口,对应的菜单按钮字体颜色变化成指定的颜色,其他菜单按钮字体颜色恢复成默认颜色
--  作者:有点甜
--  发布时间: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
--  发布时间:2017/12/8 11:17:00
--  
好的,试试看
--  作者:wangnovel
--  发布时间:2017/12/9 0:11:00
--  
我把这段代码拷贝到窗口的afterload事件中,报错说“Ribbon不是...的成员”。其实,我就是想改变RibbonMenu.Button的“字体颜色”属性,我看了帮助文档,唯一没有对该属性的描述。我想知道能否用代码来设置该属性

--  作者:有点蓝
--  发布时间: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
--  发布时间:2017/12/9 20:14:00
--  
只要改“Other”、“Execute”、“Command”这些为自己菜单名字吗?
为什么提示:编译错误:“Ribbon”不是“C1.Win.C1Ribbon。C1RibbonForm”的成员。

--  作者:wangnovel
--  发布时间: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版,新版我还没试,不知有没有完善?

--  作者:有点甜
--  发布时间: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