CHAPTER.10\MOUSE.BAS  ·  BAS  ·  1 KB  ·  1989-12-22  ·  from PCPlus_Help-Screen-Collection_1990
'Program to demonstrate use of mouse from QuickBasic

DECLARE SUB CentreMouse (InitialX%, InitialY%)
						
DECLARE SUB GetMouse ()

DECLARE SUB MouseCursorOn ()

'$INCLUDE: 'QB.BI'

COMMON SHARED inreg AS RegType
COMMON SHARED outreg AS RegType
COMMON SHARED MouseX
COMMON SHARED MouseY
COMMON SHARED MouseLeft
COMMON SHARED MouseRight

SCREEN 9
COLOR 14, 1
CentreMouse 320,175

WHILE INKEY$ = ""
 MouseCursorOn
 GetMouse
 LOCATE 1, 1
 PRINT "MouseX="; MouseX, "MouseY="; MouseY,
 PRINT "MouseLeft="; MouseLeft, "MouseRight="; MouseRight
WEND

END

SUB CentreMouse (InitialX%, InitialY%)
 inreg.ax = 4: inreg.cx = InitialX%: inreg.dx = InitialY%
 CALL INTERRUPT(&H33, inreg, outreg)
END SUB

SUB GetMouse
 inreg.ax = &H3
 CALL INTERRUPT(&H33, inreg, outreg)
 MouseX = outreg.cx
 MouseY = outreg.dx
 MouseLeft = outreg.bx AND 1
 MouseRight = (outreg.bx AND 2) /2
END SUB

SUB MouseCursorOn
 inreg.ax = 1
 CALL INTERRUPT(&H33, inreg, outreg)
END SUB