【发布时间】:2016-02-17 00:29:04
【问题描述】:
我需要做一些自定义绘画,当自定义控件中的项目被按下或悬停时,我想显示突出显示的项目状态。 PS。这是适用于 Windows 2000 和高对比度(或选择时)在更高操作系统上的非主题绘画。
if (State != rsNormal)
{
Canvas->Brush->Color = clHighlight ;
Canvas->Font->Color = clWhite ; // clHightlightText ;
}
else
{
Canvas->Brush->Color = clBtnFace;
Canvas->Font->Color = clBtnText ;
}
上面的当前代码非常适合我的需要但是Font->Colorclwhite当然是我在Win2K、WinXP等中看到的情况,但它不是系统颜色我担心在某些情况下clHighlight 可能是与clWhite 对比度不足的颜色。
documentation 提到:clHightlightText,这基本上是我需要的,但我的编译器 C++ Builder 2009 不知道此系统颜色以及文档未提供链接的事实(不同于其他颜色)也不好看。
如何获取高亮文本的非硬编码值?
【问题讨论】:
-
您链接到的文档是旧的。当前文档为here。另见Colors in the VCL。
-
@RemyLebeau - 我想我最终使用了旧版帮助,因为我搜索了“clHightlightText”。因此,由于错字,我最终找到了也有错字的在线版本。
标签: delphi c++builder vcl