我试图在运行时使用ApplyStyleLookup更改TSpeedbutton的渐变颜色,但由于某种原因,只有按钮的顶部三分之一会改变颜色。当我在设计时更改它时,我看到渐变的三个点。我正在使用TSpeedbuttons StyleLookup中的buttonstyle。使用Delphi XE6 Rad Studio。
感谢。 添加了8/29/14我找到了改变渐变的方法,见下文。但我的问题是按钮式有三个矩形,我需要访问的是背景下的rectangle2。我需要什么才能访问它。
procedure TForm1.SpeedButton1ApplyStyleLookup(Sender: TObject);
var
BckObject: TFmxObject;
begin
BckObject := SpeedButton1.FindStyleResource('background');
if Assigned(BckObject) and (BckObject is TRectAngle) then
begin
TRectAngle(BckObject).Fill.Gradient.Style := TGradientStyle.Linear;
TRectAngle(BckObject).Fill.Gradient.Points.Points[0].Color := $FF0097A5;
TRectAngle(BckObject).Fill.Gradient.Points.Points[0].Offset := 0.25;
TRectAngle(BckObject).Fill.Gradient.Points.Points[1].Color := $FF0097F5;
TRectAngle(BckObject).Fill.Gradient.Points.Points[1].Offset := 1.00;
end;
end;
答案 0 :(得分:0)
背景下的rectangle2(TRectAngle)将StyleName属性设置为空白,通过在StyleName中输入名称并保存它我可以使用相同的方法访问rectangle2: BckObject:= SpeedButton1.FindStyleResource(' myname');