home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL3.DMS / in.adf / DEMOS-OS1.3 / SysProg / IntMsgDemo3.p < prev    next >
Encoding:
Text File  |  1994-07-23  |  1.4 KB  |  58 lines

  1. { MaxonPASCAL3-Anpassung / Test:  Falk Zühlsdorff (PackMAN) 1994 }
  2.  
  3. PROGRAM IntMsgDemo3; { dritte Version }
  4.  
  5. USES INTUITION;
  6.  
  7. Const
  8.  Rahmenbreite=2;
  9.  Balkenhoehe=12;
  10.  
  11. VAR
  12.  Win: ^Window;
  13.  Msg: ^IntuiMessage;
  14.  Ende: Boolean;
  15.  Signale: Long;
  16.  
  17. PROCEDURE Star(x, y, farb: integer);
  18.   VAR IText: IntuiText;
  19.   BEGIN
  20.     IText:=IntuiText(farb, 0, 0, -4, -4, Nil, '*', Nil);
  21.     PrintIText(Win^.RPort, ^Itext, x-Rahmenbreite, y-Balkenhoehe)
  22.   End;
  23.  
  24. BEGIN
  25.   Win:=Open_Window(20,10, 200,80, 1, _CLOSEWINDOW or MOUSEBUTTONS,
  26.                    ACTIVATE or WINDOWCLOSE or WINDOWDEPTH
  27.                     or WINDOWDRAG or RMBTRAP or GIMMEZEROZERO,
  28.                    'Klick mich!', Nil, 100, 20, 640, 256);
  29.   Ende:= false;
  30.   REPEAT
  31.  
  32.     { auf Nachricht warten: }
  33.     REPEAT
  34.       Msg:= Get_Msg(Win^.UserPort);
  35.       If Msg=Nil Then
  36.         Signale:=Wait(-1)
  37.     UNTIL Msg<>Nil;
  38.  
  39.     Case Msg^.Class Of
  40.      _CLOSEWINDOW: Ende:=true;
  41.      MOUSEBUTTONS: If (Msg^.Code and $80)=0 Then
  42.                      BEGIN
  43.                        If (Msg^.Code and $01)=0 Then
  44.                          Star(Msg^.MouseX, Msg^.MouseY,3) { links }
  45.                        Else
  46.                          Star(Msg^.MouseX, Msg^.MouseY,1) { rechts }
  47.                      End
  48.     Otherwise
  49.       { unbekannte Message empfangen }
  50.     End;
  51.  
  52.     Reply_Msg(Msg);{ Nachricht als ausgewertet kennzeichnen / beantworten}
  53.  
  54.   UNTIL Ende;
  55.   Close_Window(Win);
  56.   CloseLib(IntuitionBase);
  57. End.
  58.