如何以编程方式设置自定义TAlphaColor?

时间:2015-11-17 15:15:03

标签: delphi colors firemonkey

这基本上是我在colors

中以编程方式归因Delphi的方式
label.FontColor      := TAlphaColors.Yellow;

如果我想要#FF1C90EF这样的自定义颜色怎么办?

如何以编程方式设置

2 个答案:

答案 0 :(得分:6)

与VCL中的TColor类似,TAlphaColor只是一个整数(好吧,无论如何都是Cardinal),因此您可以直接输入您的十六进制值:

label.FontColor := TAlphaColor($FF1C90EF);

Embarcadero的DocWiki上记录了这种行为:

System.UITypes.TAlphaColor

  

设置颜色有三种方法:

     
      
  • 使用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的新实例。