File: ex6.pp

package info (click to toggle)
fpc 3.2.0%2Bdfsg-12
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, bullseye-backports
  • size: 338,552 kB
  • sloc: pascal: 3,794,737; xml: 191,997; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,664; yacc: 3,751; makefile: 2,688; lex: 2,538; javascript: 2,375; sql: 929; php: 473; cpp: 145; perl: 134; sed: 132; csh: 34; tcl: 7
file content (47 lines) | stat: -rw-r--r-- 1,022 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Program Example6;

{ Program to demonstrate the PollMouseEvent function. }

Uses mouse;

Procedure DumpEvent(Const Event : TMouseEvent);

begin
  With event do
    begin
    Write('Action:');
    Case Action of
      MouseActionDown : Write('Mouse down.');
      MouseActionUp   : Write('Mouse up.');
      MouseActionMove : Write('Mouse move.');
    end;
    Write('Button state : ');
    If (Buttons and MouseLeftbutton)<>0 then
      Write('Left ');
    If (Buttons and MouseRightbutton)<>0 then
      Write('Right ');
    If (Buttons and MouseMiddlebutton)<>0 then
      Write('Middle ');
    Write('Button(s)');
    Writeln(' at ',X,',',Y,'.');
    end;
end;

Var
  Event : TMouseEvent;

begin
  InitMouse;
  Writeln('Play with mouse. Press right mouse button to end.');
  Repeat
    If PollMouseEvent(Event)Then
      begin
      DumpEvent(Event);
      GetMouseEvent(Event);
      end
    else
      Write('.');
  Until (Event.Buttons=MouseRightButton) and
        (Event.Action=MouseActionDown);
  DoneMouse;
end.