我用MIM_BACKGROUND尝试了SetMenuInfo,但它不起作用。我发现这是因为视觉样式已启用。但是我不想通过SetWindowTheme(hwndMain,L“”,L“”)禁用视觉风格,因为它会改变标题栏和边框的外观......等等。
有没有办法更改,只更改菜单栏的背景颜色,而不会取消主窗口的视觉样式。通过“只改变”,我也意味着我不必自己绘制菜单项,就像我可以使用自定义绘制只更改工具栏,选项卡等的背景颜色。 (但我可以找到菜单栏的自定义绘图!)。
答案 0 :(得分:2)
您只需将MainMenu的OwnerDraw
属性设置为true,并且Menu会自动关闭Menu的主题,但不要关闭Window的主题!
答案 1 :(得分:0)
对于主题,没有更改颜色的官方方法。但是,您可以利用一些未记录的窗口消息来自己实现自定义绘图。 https://github.com/adzm/win32-custom-menubar-aero-theme