Programar
en cualquier componente que se desee que responda al click el siguiente
código en el evento
MouseDown.
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
h: HMENU;
p:TPoint;
begin
// El componente que llama deriva de TControl?
if (Sender is TControl) then begin
// Posicion del click
p.X := x;
p.Y := y;
// Calculamos las coordenadas relativas
P := Self.ScreenToClient(TControl(Sender).ClientToScreen(P));
// Mostrar el menú
h := GetSystemMenu(handle, false);
TrackPopupMenu(h, TPM_LEFTALIGN or TPM_LEFTBUTTON,
ClientOrigin.X + p.X ,
ClientOrigin.Y + p.y, 0, handle, nil);
end;
end;