Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизДинамически создаваемые компоненты. Найти похожие ветки
← →
sashok (2004-07-23 22:10) [0]Я по ходу программы создаю две кнопки и делаю процедуру ButtonClick для обрабатывания ONClick этих кнопок.
Как мне узнать: какая кнопка вызвала эту процедуру (тоесть, проще говоря - какая кнопка была нажата)?
Var but1,but2:tbutton;
Procedure ButtonClick(sender: TObject);
Begin
// Вот здесь собственно мне и нужно узнать что за кнопка
// вызвала эту процедуру
End;
Begin
but1:=TButton.Create(Form1);
but2:=TButton.Create(Form1);
but1.Parent:=Form1;
but2.Parent:=Form1;
but1.ONClick:=@ButtonClick;
but2.ONClick:=@ButtonClick;
End;
Заранее спасибо
← →
Palladin © (2004-07-23 22:12) [1]TNotifyEvent+F1
← →
KADAN © (2004-07-24 02:30) [2]задай свойство Tag кнопкам (например, Button1.Tag:=1, Button2.Tag:=2)
в ButtonClick проверяй TButton(Sender).Tag
← →
Германн © (2004-07-24 02:44) [3]А не проще ли в данном случае в процедуре ButtonClick проверять - if Sender = but1 then...
else if Sender = but2 then...
else ShowMessage("Error");
← →
\/\//\/\ (2004-07-24 03:57) [4]А ещё проще, в этом случае, для каждой кнопки сделать свой обработчик: Button1Click, Button2Click.
> sashok (23.07.04 22:10)
Ты же наверное хочешь после того, как определишь какая кнопка была нажата, выполнить разные действия для той или иной кнопки. Вот и не нужно будет определять. Всё-равно ведь используешь разные переменные для TButton.
← →
Palladin © (2004-07-24 15:24) [5]Сколько вас умных... и ни один из умных не сказал что обработчик события должен быть методом класса...
← →
\/\//\/\ (2004-07-24 18:43) [6]
> Palladin © (24.07.04 15:24) [5]
Сколько вас умных...
Нет, нет! Не переживай - ты умнее:)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c