这基本上是我在colors
Delphi
的方式
label.FontColor := TAlphaColors.Yellow;
如果我想要#FF1C90EF
这样的自定义颜色怎么办?
如何以编程方式设置?
答案 0 :(得分:6)
与VCL中的TColor
类似,TAlphaColor
只是一个整数(好吧,无论如何都是Cardinal
),因此您可以直接输入您的十六进制值:
label.FontColor := TAlphaColor($FF1C90EF);
Embarcadero的DocWiki上记录了这种行为:
设置颜色有三种方法:
使用System.UIConsts中的预定义常量:
Color := claGreen; //Delphi Color = TAlphaColor(claGreen); // C++
使用TAlphaColorRec的预定义常量:
Color := TAlphaColorRec.Green; //Delphi Color = TAlphaColor(TAlphaColorRec::Green); // C++
使用4字节十六进制数字表示:
Color := $FF008000; // Delphi Color = TAlphaColor(0xFF008000); // C++
您还可以使用TAlphaColorRec
记录分配各个组件:
var
rec: TAlphaColorRec;
begin
rec.A := $FF;
rec.R := $1C;
rec.G := $90;
rec.B := $EF;
label.FontColor := rec.Color;
end;
答案 1 :(得分:3)
看起来您可以将颜色传递给TAlphaColor
例如,TAlphaColor($FF1C90EF)
。
话虽如此,您也可以直接设置.FontColor
属性,而无需创建TAlphaColor
的新实例。