更改菜单栏背景颜色

时间:2013-01-26 13:25:50

标签: winapi menu menubar

我用MIM_BACKGROUND尝试了SetMenuInfo,但它不起作用。我发现这是因为视觉样式已启用。但是我不想通过SetWindowTheme(hwndMain,L“”,L“”)禁用视觉风格,因为它会改变标题栏和边框的外观......等等。

有没有办法更改,只更改菜单栏的背景颜色,而不会取消主窗口的视觉样式。通过“只改变”,我也意味着我不必自己绘制菜单项,就像我可以使用自定义绘制只更改工具栏,选项卡等的背景颜色。 (但我可以找到菜单栏的自定义绘图!)。

2 个答案:

答案 0 :(得分:2)

您只需将MainMenu的OwnerDraw属性设置为true,并且Menu会自动关闭Menu的主题,但不要关闭Window的主题!

答案 1 :(得分:0)

对于主题,没有更改颜色的官方方法。但是,您可以利用一些未记录的窗口消息来自己实现自定义绘图。 https://github.com/adzm/win32-custom-menubar-aero-theme