summaryrefslogtreecommitdiff
path: root/fpcdocs/mouseex/ex6.pp
blob: bb32b212fa52c1a11f2bb3d7931be419de9d1970 (plain)
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.