{{QBDLDATE:07-31-2022}} {{QBDLTIME:23:38:56}} {{DISPLAYTITLE:_MOUSEWHEEL}} The [[_MOUSEWHEEL]] function returns a positive or negative [[INTEGER]] value indicating mouse scroll events since the last read of [[_MOUSEINPUT]]. {{PageSyntax}} : {{Parameter|scrollAmount%}} = [[_MOUSEWHEEL]] {{PageDescription}} * Returns -1 when scrolling up and 1 when scrolling down with 0 indicating no movement since last read. * After an event has been read, the value resets to 0 automatically so cumulative position values must be added. * If no movement on the wheel has occurred since the last [[_MOUSEINPUT]] read, [[_MOUSEWHEEL]] returns 0. {{PageExamples}} ''Example 1:'' Reading the cumulative mouse wheel "clicks". {{CodeStart}} DO: {{Cl|_LIMIT}} 100 DO WHILE {{Cl|_MOUSEINPUT}} Scroll = Scroll + {{Cl|_MOUSEWHEEL}} LOCATE 10, 20: PRINT Scroll LOOP LOOP UNTIL INKEY$ = CHR$(13) ' press Enter to quit {{CodeEnd}} ''Example 2:'' A simple text scrolling routine using the mouse wheel value to read a text array. {{CodeStart}} {{Cl|DIM}} Array$(100) {{Cl|LINE INPUT}} "Enter a file name with 100 or more lines of text: ", file$ {{Cl|OPEN}} file$ {{Cl|FOR (file statement)|FOR}} {{Cl|INPUT (file mode)|INPUT}} {{Cl|AS}} #1 {{Cl|DO...LOOP|DO}} {{Cl|UNTIL}} {{Cl|EOF}}(1) inputcount = inputcount + 1 {{Cl|LINE INPUT (file statement)|LINE INPUT}} #1, Array$(inputcount) {{Cl|IF...THEN|IF}} inputcount = 100 {{Cl|THEN}} {{Cl|EXIT DO}} {{Cl|LOOP}} {{Cl|FOR...NEXT|FOR}} n = 1 {{Cl|TO}} 21: {{Cl|PRINT}} Array$(n): {{Cl|NEXT}} {{Cl|CLOSE}} #1 DO {{Cl|DO...LOOP|DO}} {{Cl|WHILE}} {{Cl|_MOUSEINPUT}} {{Cl|IF...THEN|IF}} row >= 0 {{Cl|THEN}} row = row + {{Cl|_MOUSEWHEEL}} {{Cl|ELSE}} row = 0 'prevent under scrolling {{Cl|IF...THEN|IF}} row > inputcount - 20 {{Cl|THEN}} row = inputcount - 20 'prevent over scrolling {{Cl|IF...THEN|IF}} prevrow <> row {{Cl|THEN}} 'look for a change in row value {{Cl|IF...THEN|IF}} row > 0 {{Cl|AND (boolean)|AND}} row <= inputcount - 20 {{Cl|THEN}} {{Cl|CLS}}: {{Cl|LOCATE}} 2, 1 {{Cl|FOR...NEXT|FOR}} n = row {{Cl|TO}} row + 20 {{Cl|PRINT}} Array$(n) {{Cl|NEXT}} {{Cl|END IF}} {{Cl|END IF}} prevrow = row 'store previous row value {{Cl|LOOP}} {{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INKEY$}} > "" {{CodeEnd}} {{small|Code by Ted Weissgerber}}