Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.09.2009, 10:54
kaizer131 kaizer131 вне форума
Начинающий
 
Регистрация: 01.11.2008
Сообщения: 112
Репутация: 10
По умолчанию управление обьектами в run time

Добрый день !
Помогите выяснить в чём проблема
Я создаю 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 а этого ненужно

Кто подскажет в чём причина ?

Последний раз редактировалось kaizer131, 03.09.2009 в 14:35.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025