Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.05 c
6-1161273743
Antoxa2005
2006-10-19 20:02
2007.04.08
Подскажите, как отловить подключение по локальной сети и если


15-1173882328
eXPell
2007-03-14 17:25
2007.04.08
Как бы вы поступили?


2-1174044391
Маша_Семенова
2007-03-16 14:26
2007.04.08
Двоичный скремблер.


15-1173880304
lak-b/proxy/
2007-03-14 16:51
2007.04.08
помогите с алгоритмом


2-1174066218
Malik
2007-03-16 20:30
2007.04.08
Помогите плизз!!! Запуск ворда во время работы программы