Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Где произошел OnClick


Автор: CHERRY 24.6.2009, 21:56
На Panel создаются 6 Image на OnCreate.
Код

procedure TBigFotoForm.FormCreate(Sender: TObject);
Var i:Integer;
Begin
 p:=TPanel.Create(Owner);
 p.Parent:=DForm.WBMain;
 p.Left:=10;
 P.Top:=10;
 p.Width:=640;
 p.Height:=440;
 p.Color:=$00E1F5EC;
For i:=1 To 6 Do
Begin
 im[i]:=TImage.Create(Owner);
 im[i].Parent:=p;
 if i<=3 Then im[i].Top:=10 Else im[i].Top:=im[i].Height+70;
 If (i=1)or(i=4) then im[i].Left:=10 Else im[i].Left:=im[i-1].Left+im[i-1].Width+10;
 im[i].Width:=200;
 im[i].Height:=150;
 im[i].Stretch:=true;
 im[i].Cursor:=crHandPoint;
End;
 im[1].OnClick:=imclick1;
 im[2].OnClick:=imclick2;
 im[3].OnClick:=imclick3;
 im[4].OnClick:=imclick4;
 im[5].OnClick:=imclick5;
 im[6].OnClick:=imclick6;


Во время работы кликаем по имиджам, чтобы получить увеличенное изображение.
Как узнать, по какому имиджу был клик?
Писать 6 одинаковых обработчиков некрасиво.

Автор: THandle 24.6.2009, 22:17
Через Sender узнавай:

http://forum.vingrad.ru/forum/topic-264227/anchor-entry1903362/0.html

А вообще код внушает небольшой страх... Хотя бы даже оформлением...

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