Главная страница
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
Вложенный подзапрос.


4-46544
Romul
2002-02-14 12:14
2002.04.15
Как проверить свернуто ли окно


4-46551
ShaH
2002-02-13 12:46
2002.04.15
Непонятки с LogonUser


3-46267
zks
2002-03-26 09:24
2002.04.15
Мастера мне нужно ваше мнение.


3-46293
Serg!
2002-03-22 19:04
2002.04.15
ким образом можно динамически подгужать данные из select-запроса?