![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Группа компонентов в одном имени
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