menubackcolor这个属性正常讲在代码里是只读的(a readonly property),但也不是绝对的:),可以通过edit source一个菜单,直接修改其源代码来实现。通过查看源代码可以发现每个菜单项都会有一个menubackcolor属性的定义,一般对第一个菜单的属性的修改,可以导致整个菜单的属性的修改。我们先来定义一个全局的long型变量gl_color=rgb(255,0,0),然后在edit source里将menubackcolor= gl_color,刚才试了一下可以出来每个级别菜单颜色不一样的效果。
要点:edit source menu
修改所有的 menubackcolor= gl_color
1、建好菜单 m_main
2、再建一个空白的菜单 m_menu,把窗口的菜单指定为这个空白菜单
3、定义一个 菜单的实例 m_main m_theme,修改 gl_color 的值
This.ChangeMenu( m_menu ) //改变窗口的菜单,指定为空白
If Isvalid( m_theme ) Then Destroy( m_theme ) //清除原来的 菜单实例,
gl_color = 新的颜色值
m_theme = Create m_main //重新创建 菜单实例
This.ChangeMenu( m_theme ) //更改菜单为 m_theme
//----------------------------------------
This.backcolor = al_color
m_misapp_menu m_theme
This.ChangeMenu( m_misapp_menu ) //改变窗口的菜单,指定为空白
This.ToolbarVisible = False
//
If Isvalid( m_theme ) Then Destroy( m_theme ) //清除原来的 菜单实例,
gl_backcolor = al_color
m_theme = Create m_misapp_menu //重新创建 菜单实例
This.ChangeMenu( m_theme ) //更改菜单为 m_theme