RAD Studio |  |

Responding to a Mouse Move
See Also
Collapse All

An OnMouseMove event occurs periodically when the user moves the mouse. The event goes to the object that was under the mouse pointer when the user pressed the button. This allows you to give the user some intermediate feedback by drawing temporary lines while the mouse moves.

To respond to mouse movements, define an event handler for the OnMouseMove event. This example uses mouse-move events to draw intermediate shapes on a form while the user holds down the mouse button, thus providing some feedback to the user. The OnMouseMove event handler draws a line on a form to the location of the OnMouseMove event:

Copy Code

    procedure TForm1.FormMouseMove(Sender: TObject;Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    begin
    Canvas.LineTo(X, Y);{ draw line to current position }
    end;

Copy Code

    void __fastcall TForm1::FormMouseMove(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
    {
      Canvas->LineTo(X, Y);
    }

With this code, moving the mouse over the form causes drawing to follow the mouse, even before the mouse button is pressed.

Mouse-move events occur even when you haven't pressed the mouse button.

If you want to track whether there is a mouse button pressed, you need to add an object field to the form object.

See Also

What's in a Mouse Event

Responding to a Mouse-down Action

Responding to a Mouse-up Action

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!