unit foo; interface uses { a lot of units } ; type TForm1 = class(TForm) // ... various components and other stuff from the form designer // one might be: procedure btnNewImageClick(Sender: TObject); private // private members go here public // public members go here // our event handler will be a public member procedure of the TForm1 class procedure FlipBitmapRight(Sender: TObject); end; var Form1: TForm1; implementation // ... other event handlers and stuff go here procedure TForm1.btnNewImageClick(Sender: TObject); begin with TImage.Create(self) do try OnClick := FlipBitmapRight; Picture.LoadFromFile('test.bmp'); // or however it is... except Free; end; end; procedure TForm1.FlipBitmapRight(Sender: TObject); var ClickedImage: TImage; begin ClickedImage := Sender as TImage; // now do something with the image end; end.