|
Вопрос # 1 570/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
У меня такая проблема: во время работы программы я программно создаю кнопку, после чего мне нужно приделать к ней обработчик событий по нажатию кнопки. Например, чтобы вылетало сообщение.
Приложение: Переключить в обычный режим- procedure TForm1.FormClick(Sender: TObject);
- var
- btn: Tbutton;
- begin
- btn:=TButton.Create(self);
- btn.Width:=75;
- btn.Height:=25;
- btn.Parent:=Form1;
- btn.Name:='Button'+inttostr(i);
-
-
- end;
 |
Вопрос задал: informmm (статус: Посетитель)
Вопрос отправлен: 9 мая 2008, 18:41
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Dron
Здравствуйте, informmm!
Для начала создаём наш обработчик - процедуру с таким же числом параметров и с такими же типами этих параметров. Эту процедуру "прикрепляем" к форме, т.е. делаем её методом формы:
type
TForm1 = class(TForm)
procedure FormClick(Sender: TObject);
private
{ Private declarations }
procedure MyBtnClick(Sender: TObject); //добавлено
public
{ Public declarations }
end;
{...}
//В разделе реализации - implementation
procedure TForm1.MyBtnClick(Sender: TObject);
begin
ShowMessage('Привет!');
end;
А дальше просто присваиваем нашу процедуру событию кнопки:
btn.OnClick:=MyBtnClick;
Желаю удачи!
 |
Ответ отправил: Dron (статус: Студент)
Время отправки: 9 мая 2008, 19:24
|
Ответ #2. Отвечает эксперт: ANBsoft
Здравствуйте, informmm!
Предыдущий эксперт все описал.
Добавлю только что если этот обработчик должен обслуживать несколько кнопок,
то для определения какая из кнопок вызвала обработчик используется Sender.
Например:
if Sender=Button1 then ShowMessage('Нажата кнопка 1');
if Sender=Button2 then ShowMessage('Нажата кнопка 2');
if Sender=Button3 then ShowMessage('Нажата кнопка 3');
Или что-то вроде этого.
 |
Ответ отправил: ANBsoft (статус: Студент)
Время отправки: 10 мая 2008, 11:16
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|