1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-01 15:00:38 +00:00
QB64-PE/internal/help/_MOUSEWHEEL__1111111111.txt
Roland Heyder aeb9c0668b Updates help files for use with new Wiki parser (2nd try)
Note: Many files were removed (not yet existing/empty pages). The parser will try to download them on demand and will auto-generate text for missing pages (eg. most _gl pages).
2022-05-21 00:18:31 +02:00

70 lines
2.6 KiB
Plaintext

{{QBDLDATE:05-20-2022}}
{{QBDLTIME:23:09:32}}
{{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}}
<center>Note: You will need a text file that is large enough for this example.</center>
{{PageSeeAlso}}
* [[_MOUSEX]], [[_MOUSEY]], [[_MOUSEBUTTON]]
* [[_MOUSEINPUT]], [[_MOUSEMOVE]]
* [[_MOUSESHOW]], [[_MOUSEHIDE]]
* [[Controller Devices]]
{{PageNavigation}}