Текущий архив: 2007.04.08;
Скачать: CL | DM;
Вниз
Как программно создать обработчик события OnClick Найти похожие ветки
← →
kilop (2007-02-11 20:06) [0]Я программно создаю TImage, как программно создать обработчик события OnClick для TImage?
← →
RASkov (2007-02-11 20:11) [1]Image1.OnClick:=MyImageClick;
MyImageClick - метод класса.
← →
RASkov (2007-02-11 20:12) [2]> Я программно создаю
var Im: TImage;
....
Im:=TImage.Create(self);
Im.OnClick:=MyImageClick;
MyImageClick - метод класса.
← →
kilop (2007-02-11 20:13) [3]А если я много создам TImage то как я узнаю на какую я нажал?
← →
kilop (2007-02-11 20:19) [4]Мне надо типо того
for i:=1 to 10 do
Begin
Im[i]:=TImage.Create(self);
Im[i].OnClick:=ImageClick(i);
end;
Короче надо параметр передать!!!
← →
trubin © (2007-02-11 20:19) [5]
> MyImageClick - метод класса.
Это будет процедурный тип TNotifyEvent, в его параметре "Sender" будет передан нужный тебе TImage
← →
kilop (2007-02-11 20:22) [6]Как в Sender я узнаю что это нужная мне TImage?
← →
trubin © (2007-02-11 20:22) [7]В "Королевстве Дельфи" есть статья "Жизнь и смерть в режиме run-time", читай, там все подробно описано.
← →
trubin © (2007-02-11 20:23) [8]
> Как в Sender я узнаю что это нужная мне TImage?
if Sender = Im[i] then
...
← →
kilop (2007-02-11 20:24) [9]Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
← →
RASkov (2007-02-11 20:25) [10]> Im[i].OnClick:=ImageClick(i);
> end;
>
> Короче надо параметр передать!!!
Кроме как Sender"а ты туда ничего не передашь.
for i:=1 to 10 do
Begin
Im[i]:=TImage.Create(self);
Im[i].Tag:=i;
Im[i].OnClick:=ImageClick;
Im[3].OnClick(Im[i]);
end;
procedure ImageClick(Sender: TObject);
begin
ShowMessage(IntToStr(TImage(Sender).Tag));
end;
← →
RASkov (2007-02-11 20:31) [11]> for i:=1 to 10 do
> Begin
> Im[i]:=TImage.Create(self);
> Im[i].Tag:=i;
> Im[i].OnClick:=ImageClick;
> Im[3].OnClick(Im[i]);
> end;
ух... поправлю
for i:=1 to 10 do
Begin
Im[i]:=TImage.Create(self);
Im[i].Tag:=i;
Im[i].OnClick:=ImageClick;
ImageClick(Im[i]);
end;
procedure ImageClick(Sender: TObject);
begin
ShowMessage(IntToStr(TImage(Sender).Tag));
end;
Страницы: 1 вся ветка
Текущий архив: 2007.04.08;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.03 c