delphi上的TGMCircle RadiusChange事件

时间:2014-03-26 08:12:43

标签: delphi gmlib

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

0 个答案:

没有答案