_MOUSEINPUT - mkilgore/QB64pe GitHub Wiki
The _MOUSEINPUT function is used to monitor any new mouse positions, button presses or movements of the scroll wheel. Must be called before other mouse information becomes available.
- infoExists%% = _MOUSEINPUT
- Returns -1 if new mouse information is available, otherwise it returns 0.
- Must be called before reading any of the other mouse functions. The function will not miss any mouse input even during an INPUT entry.
- Use in a loop to monitor the mouse buttons, scroll wheel and coordinate positions.
- To clear all previous mouse data, use _MOUSEINPUT in a loop until it returns 0.
Example 1: Mouse coordinate, click and scroll events are returned sequentially inside of a _MOUSEINPUT loop.
'' ''
DO
DO...LOOP WHILE _MOUSEINPUT ' Check the mouse status
PRINT _MOUSEX, _MOUSEY, _MOUSEBUTTON(1), _MOUSEWHEEL
LOOP
LOOP UNTIL INKEY$ <> "" '' ''
|
- Explanation: The latest mouse function status can be read after the loop. _LIMIT and _DELAY loops will slow returns down.
DO...LOOP ' main program loop
' your program code
DO...LOOP WHILE _MOUSEINPUT'mouse status changes only
x = _MOUSEX
y = _MOUSEY
IF...THEN x > 0 AND (boolean) x < 640 AND (boolean) y > 0 AND (boolean) y < 480 THEN
IF...THEN _MOUSEBUTTON(2) THEN
PSET (x, y), 15
LOCATE 1, 1: PRINT x, y
END IF
END IF
LOOP
' your program code
LOOP UNTIL INKEY$ = CHR$(27) '' ''
|
Example 3: Clearing any mouse data read before or during an INPUT entry. Press "I" to enter input:
PRINT "Press I to enter input! Press Q to quit"
DO...LOOP
K$ = UCASE$(INKEY$)
DO...LOOP
IF...THEN _MOUSEBUTTON(1) = -1 THEN PRINT "*" 'indicates a mouse click event
LOOP WHILE _MOUSEINPUT
IF...THEN K$ = "Q" THEN END
IF...THEN K$ = "I" THEN 'press I to enter text
INPUT "Click the mouse and enter something: ", entry$ 'enter some text
GOSUB Clickcheck 'clear mouse data
END IF
LOOP
END
Clickcheck:
count = 0
DO...LOOP
count = count + 1
LOOP WHILE _MOUSEINPUT
PRINT count 'returns the number of loops before mouse data is cleared
RETURN '' ''
|
- Explanation: Click the mouse a few times while entering INPUT text. When Enter is pressed, the number of loops are displayed.
Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page