如何更改启用主题的控件的字体颜色?

Edo*_*hal 9 delphi themes

是的,这也是这个问题:

如何在启用主题的应用程序上使用Delphi7-> Delphi2007更改TCheckBox(或任何已处理控件)的字体颜色?

在网上和本网站上看了很多,我找到了4种答案:

  1. 和大多数人(甚至来自QC):你不能,它的设计就像微软那样.
  2. 创建一个组件,让您可以按需绘制它.
  3. 购买你想要的昂贵的组件集.
  4. 不要使用主题.

好的,但我仍然不满意.

为用户提供有关他在表单上拥有的财产/数据状态的彩色反馈,对我来说似乎是合法的.

然后我刚刚安装了MSVC#2008 Express版本,而且出乎意料的是,他们可以改变字体的颜色(复选框的属性ForeColor)那么什么?

它似乎并不是"微软那样设计的".那么现在问题又来了:

如何在启用主题的应用程序上使用Delphi 7到Delphi 2007更改TCheckBox(或任何已处理控件)的字体颜色?

Rit*_*tra 0

选项 5. 使用您喜欢的控件作为基本选项,并覆盖控件中的所有绘画消息(是的,您可以将其称为组件,但控件是可见组件的名称,因此您应该使用它)。只需捕获 WM_PAINT,可能是 WM_NCPAINT,您就可以按照自己的风格绘制控件。至少您可以重用控件的整个功能。只要您不更改布局,只需更改点击测试的颜色即可。向上移动等

注意:我有重写 TCustomEdit 以允许所有类型的颜色、背景文本、额外按钮等的经验。我花了相当长的时间才把它做好,并阅读了 MSDn 和 KB 中的所有文档,以确保该控件做了我想要的事情。想要它做。