|
@@ -0,0 +1,73 @@
|
|
|
|
+{example for GetLastButtonPress and GetLastButtonRelease}
|
|
|
|
+
|
|
|
|
+Uses MsMouse, Crt;
|
|
|
|
+
|
|
|
|
+Var x, y, times: Longint;
|
|
|
|
+ c: Char;
|
|
|
|
+
|
|
|
|
+Begin
|
|
|
|
+ If MouseFound Then
|
|
|
|
+ Begin
|
|
|
|
+ ClrScr;
|
|
|
|
+ ShowMouse;
|
|
|
|
+ Writeln('Move the mouse and click the buttons (press escape to quit).');
|
|
|
|
+ Writeln('Press the L-key to see the stats for the left button.');
|
|
|
|
+ Writeln('Press the R-key to see the stats for the right button.');
|
|
|
|
+ Writeln('Press the M-key to see the stats for the middle button.');
|
|
|
|
+ GotoXY(1,19);
|
|
|
|
+ Write('Since the last call to GetLastButtonPress with this button as parameter, the');
|
|
|
|
+ GotoXY(1,22);
|
|
|
|
+ Write('Since the last call to GetLastButtonRelease with this button as parameter, the');
|
|
|
|
+ Repeat
|
|
|
|
+ If Keypressed Then
|
|
|
|
+ Begin
|
|
|
|
+ c := UpCase(Readkey);
|
|
|
|
+ Case c Of
|
|
|
|
+ 'L':
|
|
|
|
+ Begin
|
|
|
|
+ GotoXY(1, 20);
|
|
|
|
+ ClrEol;
|
|
|
|
+ times := GetLastButtonPress(LButton, x, y);
|
|
|
|
+ Write('left button has been pressed ',times,
|
|
|
|
+ ' times, the last time at (',x,',',y,')');
|
|
|
|
+ times := GetLastButtonRelease(LButton, x, y);
|
|
|
|
+ GotoXY(1,23);
|
|
|
|
+ ClrEol;
|
|
|
|
+ Write('left button has been released ',times,
|
|
|
|
+ ' times, the last time at (',x,',',y,')')
|
|
|
|
+ End;
|
|
|
|
+ 'R':
|
|
|
|
+ Begin
|
|
|
|
+ GotoXY(1, 20);
|
|
|
|
+ ClrEol;
|
|
|
|
+ times := GetLastButtonPress(RButton, x, y);
|
|
|
|
+ Writeln('right button has been pressed ',times,
|
|
|
|
+ ' times, the last time at (',x,',',y,')');
|
|
|
|
+ times := GetLastButtonRelease(RButton, x, y);
|
|
|
|
+ GotoXY(1,23);
|
|
|
|
+ ClrEol;
|
|
|
|
+ Write('right button has been released ',times,
|
|
|
|
+ ' times, the last time at (',x,',',y,')')
|
|
|
|
+ End;
|
|
|
|
+ 'M':
|
|
|
|
+ Begin
|
|
|
|
+ GotoXY(1, 20);
|
|
|
|
+ ClrEol;
|
|
|
|
+ times := GetLastButtonPress(MButton, x, y);
|
|
|
|
+ Writeln('middle button has been pressed ',times,
|
|
|
|
+ ' times, the last time at (',x,',',y,')');
|
|
|
|
+ times := GetLastButtonRelease(MButton, x, y);
|
|
|
|
+ GotoXY(1,23);
|
|
|
|
+ ClrEol;
|
|
|
|
+ Write('middle button has been released ',times,
|
|
|
|
+ ' times, the last time at (',x,',',y,')')
|
|
|
|
+ End
|
|
|
|
+ End
|
|
|
|
+ End;
|
|
|
|
+ Until (c = #27); {escape}
|
|
|
|
+ While KeyPressed do ReadKey;
|
|
|
|
+ GotoXY(1,24);
|
|
|
|
+ HideMouse
|
|
|
|
+ End
|
|
|
|
+End.
|
|
|
|
+
|