我正在编写一些代码,为每个定义的位置显示3个同心圆,并使用组合框来更改这些圆的颜色。
当我将组合值更改2到3次时,从一个随机位置(几乎总是添加的最后一个)添加的最后一个圆圈会触发RadiusChangeEvent。
以下是Cicles的创建代码:
for I := 0 to Length(lEstaciones) -1 do
begin
circulos.Add(lEstaciones[i].getLat, lEstaciones[i].getLon, radio*4);
circulos.Items[3*i].FillColor := color;
circulos.Items[3*i].StrokeColor := color;
circulos.Items[3*i].FillOpacity := 0.25;
circulos.Items[3*i].StrokeWeight := 0;
circulos.Items[3*i].Visible := true;
circulos.Add(lEstaciones[i].getLat, lEstaciones[i].getLon, radio*8);
circulos.Items[3*i+1].FillColor := color;
circulos.Items[3*i+1].StrokeColor := color;
circulos.Items[3*i+1].FillOpacity := 0.25;
circulos.Items[3*i+1].StrokeWeight := 0;
circulos.Items[3*i+1].Visible := true;
circulos.Add(lEstaciones[i].getLat, lEstaciones[i].getLon, radio*12);
circulos.Items[3*i+2].FillColor := color;
circulos.Items[3*i+2].StrokeColor := color;
circulos.Items[3*i+2].FillOpacity := 0.25;
circulos.Items[3*i+2].StrokeWeight := 0;
circulos.Items[3*i+2].Visible := true;
end;
改变颜色的代码:
for I := 0 to Length(lEstaciones) -1 do
begin
circulos.Items[3*i].FillColor := color;
circulos.Items[3*i].StrokeColor := color;
circulos.Items[3*i].FillOpacity := 0.25;
circulos.Items[3*i].StrokeWeight := 0;
circulos.Items[3*i].Visible := true;
circulos.Items[3*i+1].FillColor := color;
circulos.Items[3*i+1].StrokeColor := color;
circulos.Items[3*i+1].FillOpacity := 0.25;
circulos.Items[3*i+1].StrokeWeight := 0;
circulos.Items[3*i+1].Visible := true;
circulos.Items[3*i+2].FillColor := color;
circulos.Items[3*i+2].StrokeColor := color;
circulos.Items[3*i+2].FillOpacity := 0.25;
circulos.Items[3*i+2].StrokeWeight := 0;
circulos.Items[3*i+2].Visible := true;
end;
end;
THX。