请问:如何改变CommandButton控件的背景颜色?`

时间:2021-07-01 08:08:06
我们在编程时,有时会用到给控件改变颜色,但是,你会发现,CommandButton的背景颜色无法在属性栏中改变,能不能用Win32 API 来改变呢?

8 个解决方案

#1


你可以利用Picture属性进行变换啊!!
比如你想变换的颜色可以做成一个图形(可以是bmp图形等等)然后利用变换图形来实现换色。

#2


我也不知道
关注

#3


现画,我刚刚在BCB中实现了!

#4


可先在style->1-graphical
然后  backcolor->自己选

#5


不能通过API改CommandButton的背景,所以在VB或是delphi中命令按钮都没有color属性,在按钮上放位图可能是最快的方法

#6


谁说不能通过API,那你的按钮灰色怎么出来的?!

#7


呵呵, lqf(奇枫) (  ) 说对了,这个问题没有那么复杂,
  
可先在style->1-graphical
然后 backcolor->自己选
 
要是想改变前景色,需要调用api,背景色直接在属性中这样做即可。

#8


要是你想改变字体颜色,有以下api供参考,具体用法查阅msdn;
数据结构:字体结构:logfont
获得当前的逻辑/物理字体:Private Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
枚举字体:Private Declare Function EnumFontFamilies Lib "gdi32" Alias "EnumFontFamiliesA" (ByVal hdc As Long, ByVal lpszFamily As String, ByVal lpEnumFontFamProc As Long, ByVal lParam As Long) As Long

#1


你可以利用Picture属性进行变换啊!!
比如你想变换的颜色可以做成一个图形(可以是bmp图形等等)然后利用变换图形来实现换色。

#2


我也不知道
关注

#3


现画,我刚刚在BCB中实现了!

#4


可先在style->1-graphical
然后  backcolor->自己选

#5


不能通过API改CommandButton的背景,所以在VB或是delphi中命令按钮都没有color属性,在按钮上放位图可能是最快的方法

#6


谁说不能通过API,那你的按钮灰色怎么出来的?!

#7


呵呵, lqf(奇枫) (  ) 说对了,这个问题没有那么复杂,
  
可先在style->1-graphical
然后 backcolor->自己选
 
要是想改变前景色,需要调用api,背景色直接在属性中这样做即可。

#8


要是你想改变字体颜色,有以下api供参考,具体用法查阅msdn;
数据结构:字体结构:logfont
获得当前的逻辑/物理字体:Private Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
枚举字体:Private Declare Function EnumFontFamilies Lib "gdi32" Alias "EnumFontFamiliesA" (ByVal hdc As Long, ByVal lpszFamily As String, ByVal lpEnumFontFamProc As Long, ByVal lParam As Long) As Long