当前位置:  开发笔记 > 编程语言 > 正文

更改Win32菜单颜色

如何解决《更改Win32菜单颜色》经验,为你挑选了1个好方法。

有没有办法在使用SetSysColors的情况下为单个进程更改普通Win32菜单(背景,文本和高亮显示)使用的颜色?

(SetSysColors执行全局更改,这很糟糕,如果您在退出之前崩溃或忘记再次使用SetSysColors设置颜色,则在您注销之前不会恢复它们.)



1> Serge Wautie..:

SetMenuInfo()API是你的朋友.它允许您应用任何画笔来绘制菜单的背景.

这些方面的东西可以解决你的问题:

MENUINFO mi = { 0 }; 
mi.cbSize = sizeof(mi); 
mi.fMask = MIM_BACKGROUND|MIM_APPLYTOSUBMENUS; 
mi.hbrBack = hBrush; 

HMENU hMenu = ::GetMenu(hWnd); 
SetMenuInfo(hMenu, &mi); 

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有