我的应用程序有几个TSpeedButtons
可供选择的颜色,我希望每个选择都以TSpeedButton
.
我在Stackoverflow上找到了关于如何更改TButton
. 第二个答案(动态更改颜色)似乎是我正在寻找的解决方案。内容如下:
var r: TRectangle;
begin
// Find the background TRectangle style element for the button
r := (Button1.FindStyleResource('background') as TRectangle);
if Assigned(r) then
begin
r.Fill.Color := claBlue;
end;
end;
这不再起作用(我使用 XE5,这是 XE2?)。它在r := ...
语句中生成一个异常:
"illegal cast".
FindStyleResource 返回一个 FMXObject。
TRectangle 是一个 TShape->TControl->TFMXObject。
我可以转换为 TControl 但不能转换为 TShape。如果您想知道,Button1 是一个 TButton。
有谁知道我如何改变 a 的颜色TSpeedButton
?
顺便说一句:有没有办法确定究竟返回了哪种类型的对象?我在调试器中找不到。