Добрый день !
Помогите выяснить в чём проблема
Я создаю 50 кнопок в режиме run time, помещая их в ряд по 10 штук
в прцессе создания задаю различные свойства мне нужно чтоб кнопки
с определённым tag были невидимы я делаю так:
Код:
var
Form1: TForm1;
a:TButton;
mas:array[1..50]of tbutton;
i,z:integer;
implementation
{$R *.dfm}
procedure TForm1.FormShow(Sender: TObject);
var
top,cap:integer;
begin
top:=5;
z:=0;
for I := 1 to 10 do
begin
a:=Tbutton.Create(self);
a.Parent:=form1;
a.Height:=20;
a.Width:=20;
a.Top:=top;
a.Left:=z*21;
a.Tag:=i;
a.Caption:=Inttostr(a.Tag);
z:=z+1;
end;
z:=0;
for I := 11 to 20 do
begin
case a.tag of
18:a.Visible:=false;
20:a.Visible:=false;
end;
a:=Tbutton.Create(self);
a.Parent:=form1;
a.Height:=20;
a.Width:=20;
a.Top:=top+20;
a.Left:=z*21;
a.Tag:=i;
a.Caption:=Inttostr(a.Tag);
z:=z+1;
end;
z:=0;
for I := 21 to 30 do
begin
case a.tag of
30:a.Visible:=false;
end;
a:=Tbutton.Create(self);
a.Parent:=form1;
a.Height:=20;
a.Width:=20;
a.Top:=top+40;
a.Left:=z*21;
a.Tag:=i;
a.Caption:=Inttostr(a.Tag);
z:=z+1;
end;
z:=0;
for I := 31 to 40 do
begin
case a.tag of
38:a.Visible:=false;
40:a.Visible:=false;
end;
a:=Tbutton.Create(self);
a.Parent:=form1;
a.Height:=20;
a.Width:=20;
a.Top:=top+60;
a.Left:=z*21;
a.Tag:=i;
a.Caption:=Inttostr(a.Tag);
z:=z+1;
end;
z:=0;
for I := 41 to 50 do
begin
a:=Tbutton.Create(self);
a.Parent:=form1;
a.Height:=20;
a.Width:=20;
a.Top:=top+80;
a.Left:=z*21;
a.Tag:=i;
a.Caption:=Inttostr(a.Tag);
z:=z+1;
end;
end;
end.
Всё работает как часы, за исключением того, что кнопки с tag = 20,30 и 40 не становятся невидимыми.
Почему то цикл массива не затрагивает обработку этих кнопок , если я делаю например for I := 31 to 41 do, то кномка 40 обрабатывается как положенно и становится невидимой , но тогда после неё появляется кнопка 41 а этого ненужно
Кто подскажет в чём причина ?