我正在制作我的第一个FireMonkey应用程序。我创建了一个TRectangle网格,现在我想通过编程方式设置每个矩形的颜色。我已经完成了以下操作:
procedure TForm9.Button2Click(Sender: TObject);
var
C : TRectangle;
I : integer;
//const
// Alpha = TAlphaColor($FF000000);
// Red = Alpha or TAlphaColor($FF0000);
begin
for I := 0 to ScaledLayout1.ChildrenCount-1 do
begin
If ScaledLayout1.Children[I] is TRectangle then
begin
C := Trectangle(ScaledLayout1.Children[I]);
C.Fill.Color := Red; <<< ERROR
C.Fill.Kind := bkSolid <<< ERROR;
end;
end;
end;
当我尝试分配常量“Red”和“bkSolid”时,出现编译器错误'unidentified identifier'
,并显示'<< ERROR'。如果我进入System.UITypes并像我注释掉的“const”那样复制'Red',则一切正常。然而,“System.UITypes”在我的使用列表中。尝试C.Fill.Color := TAlphaColor.Red
也不起作用。请问我做错了什么?谢谢。
TEnumType.etThing
风格对老手来说有些困惑,不是吗?我个人认为,在TBrushKind中使用“bk”前缀是错误的。要么使用没有前缀的新语法(类型和点后跟一个单词),要么使用前缀但不使用新的枚举语法。将它们结合起来是愚蠢的。但这是Embarcadero做的,所以我们只能接受这种愚蠢。 - Warren P