Главная страница
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.007 c
3-46268
Sergey_R
2002-03-23 19:13
2002.04.15
Вложенный подзапрос.


3-46260
Бур
2002-03-21 11:54
2002.04.15
Как восстановить соединение с базой ...


14-46496
Merlin
2002-03-07 12:36
2002.04.15
Дохлый осел (перевод с английского)


1-46333
hooky-mars
2002-04-03 21:44
2002.04.15
Масивы не понятно какого вида


6-46476
ATLANTIDO
2002-01-31 23:39
2002.04.15
Опять не работает сокет