From QB64 Wiki

Jump to: navigation, search

The _MOUSEMOVE statement moves the mouse pointer to a new position on the screen as determined by the column and row coordinates.


_MOUSEMOVE column%, row%


  • INTEGER column is the horizontal pixel coordinate to place the mouse pointer and can be any value from 0 to _WIDTH(0) - 1.
  • INTEGER row is the vertical pixel position to place the mouse pointer and can be any value from 0 to _HEIGHT(0) - 1


  • Maximum coordinate values are based on a program's current SCREEN mode resolution or the pixel size set by _NEWIMAGE.
  • SCREEN 0 uses text block coordinates. Coordinates off of the screen will create an "Illegal Function Call" ERROR!
  • Can be used to position the pointer to a default dialog button or move the cursor away from a button so it is not clicked twice.
  • Does NOT require _MOUSEINPUT to be used, but all moves will be remembered by it.

Example: How to move the mouse cursor using remembered mouse movements. Press any key to quit.

i = _MOUSEINPUT PRINT INPUT "Move the mouse pointer and make a few clicks, then press Enter!", dummy$ _MOUSEMOVE 1, 1 DO count = count + 1 i = _MOUSEINPUT x = _MOUSEX: y = _MOUSEY PRINT count, x, y, _MOUSEBUTTON(1) _MOUSEMOVE x, y _DELAY .05 LOOP UNTIL i = 0 OR INKEY$ > "" PRINT "Done!"

Explanation: The _MOUSEINPUT function will hold previous and _MOUSEMOVE events so press any key when you want to quit.

See also:

Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
Personal tools