Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > событие при щелчке


Автор: welt 18.8.2006, 22:03
Допустим, есть такая конструкция

Код

...................
var
Image: TImage;

Begin
Image := TImage.Create(Form1);
with Image do
begin
  Parent:=Form1;
  height:=555;
  Width :=555; 
  left:=555;
  Top:=555;
end;

Image.OnClick := Button1.click;
end;


Т.е я создаю компонент. потом нужно как-то сделать обработчик события нажатия на эту картинку.
я сделал как-то кустарно очень..Через кнопку.
как нормально сделать???

Автор: demon13 18.8.2006, 23:21
Код

...

type
    procedure ImageClick(Sender: TObject);

...
var
Image: TImage;

Begin
Image := TImage.Create(Form1);
with Image do
begin
  Parent:=Form1;
  height:=555;
  Width :=555; 
  left:=555;
  Top:=555;
end;

Image.OnClick:= ImageClick;
end;

procedure TForm1.ImageClick(Sender: TObject);
begin
//Сюда пишешь код
end;

Автор: demon13 19.8.2006, 08:56
welt, может ты всеже напишешь работает у тебя этот код или нет smile 

Автор: Guedda 19.8.2006, 09:00
demon13, а ты сам не можешь попробовать?

Вообще всё практически правильно, только объявление процедуры не в type прописывать надо, а так:
Код

type
  TForm1 = class(TForm)
  //...
  private
    procedure ImageClick(Sender : TObject); 

Автор: demon13 19.8.2006, 09:31
Цитата(Guedda @  19.8.2006,  09:00 Найти цитируемый пост)
 а ты сам не можешь попробовать?
, я еще перед тем как советовать попробовал

Цитата(Guedda @  19.8.2006,  09:00 Найти цитируемый пост)
только объявление процедуры не в type прописывать надо
, это я тоже знаю, delphi при нажатии Ctrl+Shift+C сам прописывает в private. Мне интересно было будет работать или нет, а дело было ночью, я  забыл исправить так и выложил. smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)