Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Группа компонентов в одном имени


Step[B.M.] ©   (2003-01-29 18:05:00) 

Как можно объединить несколько однотипных компонентов в кой-нить объект и обращаться через него к свойствам этих компонентов.

например:
есть 15 шт. Button (Button1, Button2, ... Button15)
как бы обратиться к свойству Enabled всех этих кнопок не используярутину типа:
Button1.Enabled:=false;
Button2.Enabled:=false;
...
Button15.Enabled:=false;


down   (2003-01-29 19:08:00) [1]


procedure TMyForm.BlaBlaBla;
var
ButtonName: string;
I: Integer;
C: TComponent;
begin
for I := 1 to 15 do
begin
C := FindComponent("Button" + IntToStr(I));
if C is TButton then
TButton(C).Enabled := False;
end;
end;



passm   (2003-01-29 18:29:00) [2]

Step[B.M.] © (29.01.03 18:05)> Можно перебрать property TWinConcrol.Controls[Index: Integer]: TControl;
И если i-й Control тебе "понравится" (is TButton,...) то делай с ним что хочешь.
Либо:
procedure SetEnableByttons(const ButtonArray: array of TButton;
const Enabled: Boolean);
var
i: Integer;
begin
for i:= Low(ButtonArray) to High(ButtonArray) do
ButtonArray[i].Enabled:= Enabled
end;
Либо пополни TList
...


Anatoly Podgoretsky   (2003-01-29 18:25:00) [3]

Новый класс и метод SetAllButton


Наверх

Титульная страница Поиск, карта сайта Написать письмо