我正在编写一些代码来为每个定义的位置显示 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;
谢谢。