我的Windows程序中有一个所有者绘制的列表控件。我使用CListCtrl :: GetBkColor来获取背景颜色,对于选定的项目,我使用GetSysColor(COLOR_HIGHLIGHT)。这与Windows用于非所有者绘制的列表控件的内容相匹配,除了控件没有焦点的情况 - 然后将背景替换为灰色。
Windows是否使用其中一个GetSysColor常量来选择但未聚焦的背景?如果是这样,哪一个?
答案 0 :(得分:6)
COLOR_INACTIVECAPTION
(3),我想。
更新:不,看起来只是COLOR_BTNFACE
(15)。
答案 1 :(得分:1)
啊,好的。有点摆弄,我已经确定它使用.Net中的SystemColors.Control
颜色,这相当于C ++ COLOR_3DFACE
COLOR_BTNFACE
,COLOR_MENU
和COLOR_MENUBAR
在默认安装的Windows上也代表相同的颜色。