在"Borland" C++ Builder 6中,如何更改按钮(
但是它不起作用。
TButton
)的颜色?我尝试了以下方法:button->Font->Color = clRed;
但是它不起作用。
TButton
)的颜色?我尝试了以下方法:button->Font->Color = clRed;
TButton
是标准Win32 BUTTON
控件的简单封装,其颜色来自操作系统而非VCL。您不能为标准的TButton
设置Color
属性。该属性仅因继承自基类而存在。
话虽如此,Win32 BUTTON
支持BS_OWNERDRAW
样式。您可以使用SetWindowLong()
启用它,然后子类化按钮以处理WM_DRAWITEM
消息,以便您可以按照所需进行绘制。
这是一个从TButton
派生并实现BS_OWNERDRAW
以公开工作颜色属性的示例组件:TColorButton
使用TPanel控件,设置颜色和边缘效果以匹配按钮的外观。使用OnClick事件,就可以得到一个颜色按钮啦~ ;O-)
TBitBtn
,它不是围绕WIN32控件的包装器,而是完全由VCL绘制。TBitBtn
甚至可以接收键盘焦点,因此应该能够正常工作。TBitBtn可以改变字体标题的颜色。之前的回答说它不能接收键盘焦点,但我不确定那个人的意思——我刚刚创建了一个包含其他几个对象(包括一个BitBtn)的表单,并设置了Tab键顺序,确实会获得焦点。我可以按下键盘上的空格键来推按钮,我还可以在所需字母前面加上&符号来添加ALT热键。对于按钮的所有目的,它似乎行为就像Win32控件一样,但是有颜色——耶!是的,我正在使用Borland C++ Builder 6。