私のアプリケーションにはTSpeedButtons
、色を選択するためのいくつかのものがあり、それぞれの選択肢を の色で表示したいと考えていTSpeedButton
ます。
の色を変更する方法について、Stackoverflow でこの回答を見つけましたTButton
。2番目の答え(色を動的に変更する)は、私が探しているソリューションのようです。次のように書かれています。
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 です。
の色を変更する方法を知っている人はいTSpeedButton
ますか?
余談ですが、どのタイプのオブジェクトが正確に返されているかを判断する方法はありますか? デバッガーではわかりませんでした。