The easiest way of the realization is direct calling of OnClick event: procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin Button1.OnClick(Sender); end;