在“Borland” C++ Builder 6中,如何更改按钮的颜色(TButton)?

我已经尝试过这种方式

button->Font->Color = clRed;

但这是行不通的。

最佳答案

TButton是标准Win32 BUTTON控件的薄包装,该控件是从OS(而不是VCL)获取颜色的。您不能为标准Color设置TButton。存在Color属性仅是因为它是从基类继承的。

话虽如此,Win32 BUTTON确实支持BS_OWNERDRAW样式。您可以使用SetWindowLong()启用它,然后将按钮子类化以处理WM_DRAWITEM消息,以便可以根据需要绘制按钮。

这是一个从TButton派生并实现BS_OWNERDRAW以公开工作颜色属性的示例组件:TColorButton

关于button - 如何改变TButton的颜色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23082687/

10-12 00:22