Determinar sobre cual se hizo clic es aritmética simple. Si las imágnes son de ancho/alto fijo, es mucho mas sencillo aún:
Como una idea:
Código Delphi
[-]
TForm1 = class(TForm)
private
FLastMousePos: TPoint;
end;
implementation
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
FLastMousePos.X := X;
FLastMousePos.Y := Y;
end;
procedure TForm1.Panel1Click(Sender: TObject);
var
IndiceImagen: Integer;
begin
IndiceImagen := (FLastMousePos.Y div AltoEstandar) * ImagenesPorFila
+ (FLastMousePos.X div AnchoEstandar);
ClickEnImagen(IndiceImagen);
end;
Claro que hay que probarlo, y afinarlo... pero con eso ya te irás encaminando.
Hasta luego.