Hola de nuevo.
Es una zoncera, pero se me olvidó mencionar que si quisieras utilizar el código para varios SpeedButtons, solo tenés que hacer un pequeño cambio en el evento
OnMouseMove:
Código Delphi
[-]
procedure TForm1.SpeedButtonMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
if MoveOn then
begin
TSpeedButton(Sender).Left := ScreenToClient(Mouse.CursorPos).X;
TSpeedButton(Sender).Top := ScreenToClient(Mouse.CursorPos).Y;
end;
end;
Y asignar los eventos a los
TSpeedButtons que desees.
Saludos.