Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.15;
Скачать: CL | DM;

Вниз

Обращение к объектам, созданным в Run-Time.   Найти похожие ветки 

 
Cyrex ©   (2002-04-01 17:34) [0]

Вопрос такой: во время выполнения программы создается массив из 100 кнопок

btnUser: array[1..10, 1..10] of TButton;

x := 50;
y := 50;
for i := 1 to 10 do
begin
for j := 1 to 10 do
begin
btnUser[i,j] := TButton.Create(Self);
btnUser[i,j].Parent := frmMain;
btnUser[i,j].Caption := "";
btnUser[i,j].Width := 20;
btnUser[i,j].Height := 20;
btnUser[i,j].Left := x;
btnUser[i,j].Top := y;
x := x + 20;
if x = 250 then
begin
x := 50;
y := y + 20;
end;
end;
end;
А как писать процедуры для обработки событий, связанных с этими объектами, обращаться к ним через индекс? Не писать же 100 почти одинаковых кусков кода.
P.S. Если чего неправильно назвал или задал глупый вопрос, просьба не бить, за Дэльфи сел не прошлой неделе.


 
Виктор Щербаков ©   (2002-04-01 17:39) [1]


> Не писать же 100 почти одинаковых кусков кода.

Конечно не нужно. Напиши один обработчик и назначь его всем кнопкам. А внутри этого обработчика определяй какую именно кнопку нажали, через Sender.


 
Cyrex ©   (2002-04-01 17:42) [2]

Если можно, как это примерно будет выглядеть (сорри за занудство, но сейчас важно понять основы)?


 
Виктор Щербаков ©   (2002-04-01 17:46) [3]

...
btnUser[i,j].OnClick := MyButtonClick;
...

procedure TForm1.MyButtonClick(Sender: TObject);
begin
//Меняем текст на нажатой кнопке
(Sender as TButton).Caption := "Wow!";
end;


 
Cyrex ©   (2002-04-01 18:01) [4]

Благодарю!



Страницы: 1 вся ветка

Текущий архив: 2002.04.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
1-46450
AFROLOV
2002-04-03 11:21
2002.04.15
Resize форм


3-46258
B_A_V
2002-03-25 09:31
2002.04.15
что выьрать: Seagate Crystal Reports или XL Report G2?


1-46337
nastya_
2002-04-03 19:13
2002.04.15
www браузер


3-46216
Nest
2002-03-22 10:02
2002.04.15
Как программно определить тип ключа (clustered/nonclustered) существующей таблицы в БД?


6-46474
Yuri74
2002-02-01 15:04
2002.04.15
Отправить сообщение по сети