home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 22 / saa / demos / menudemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-01-04  |  2.2 KB  |  77 lines

  1. (* ----------------------------------------------------- *)
  2. (*                       MENUDEMO.PAS                    *)
  3. (*           Zum Testen der einzelnen Menüitems          *)
  4. (*           (c) 1991 by R.Reichert & toolbox            *)
  5. (* ----------------------------------------------------- *)
  6. PROGRAM MenuItemsDemo;
  7.  
  8. USES Stuff, WinVSM, MouKey, MnuItems, MnuSched;
  9.  
  10. VAR
  11.   VSM    : WExtVSMPtr;
  12.   Menu   : PopUpMenuPtr;
  13.   Answer : BYTE;
  14.   Quit   : BOOLEAN;
  15.   Ev     : EventObj;
  16.   BoolPtr: BOOLEAN;
  17.  
  18. BEGIN
  19.   BoolPtr := TRUE;
  20.   VSM := New (WExtVSMPtr,
  21.               Init (New (ScreenObjPtr, Init (0, 0))));
  22.   VSM^.ClrScr;
  23. {
  24.   Menu := New (SlideBarPtr, Init);
  25. }
  26.   Menu := New (PopUpMenuPtr,
  27.                Init (10, 10, 21, 15, VSM));
  28.   IF Menu=NIL THEN BEGIN
  29.     Writeln ('*** Fehler: Objekt konnte nicht ',
  30.              'initialisiert werden.');
  31.     Writeln;
  32.     Writeln ('            Programm abgebrochen.');
  33.     Halt (1);
  34.   END;
  35.   EvHand^.SetTakeOut (TRUE);
  36.   Mouse^.Show;
  37.   Quit := FALSE;
  38.   WITH Menu^ DO BEGIN
  39.     Add (New (ExeItemPtr,
  40.               Init (11, 11, '  Item #1  ', Alt1,
  41.                     1, 25, 'NoHelp', TRUE, VSM)));
  42.     Add (New (SwitchItemPtr,
  43.               Init (11, 12, '  Item #2  ', Alt2,
  44.                     1, 25, 'NoHelp', TRUE, VSM)));
  45.     Add (New (LineItemPtr,
  46.               Init (10, 13, 21, VSM)));
  47.     Add (New (GlobalSwitchItemPtr,
  48.               Init (11, 14, '  Item #4  ', Alt4,
  49.                     1, 25, 'NoHelp', @BoolPtr, VSM)));
  50.   END;
  51.   Menu^.Open;
  52.   Answer := SchOk;
  53.   REPEAT
  54.     EvHand^.WaitForEvent (EvAll, Ev);
  55.     Menu^.CheckEvent (Ev);
  56.     Answer := Menu^.GetReturnCode;
  57.     Quit := (Answer=MenuSelected) OR
  58.             (Answer=ActSubMenu) OR
  59.             (Answer=MenuCanceled);
  60.   UNTIL Quit;
  61.   EvHand^.SetTakeOut (FALSE);
  62.   Menu^.Close;
  63.   Mouse^.Hide;
  64.   VSM^.GotoXY (1, 10);
  65.   Writeln (BoolPtr);
  66.   IF Answer<>MenuCanceled THEN
  67.     Writeln ('Gewählt: ', Menu^.GetActiveItem)
  68.   ELSE
  69.     Writeln ('Abbruch mit ESC.');
  70.   ReadLn;
  71.   Dispose (Menu, Done);
  72.   Dispose (VSM, Done);
  73. END.
  74. (* ----------------------------------------------------- *)
  75. (*                   Ende von MENUDEMO.PAS               *)
  76. (* ----------------------------------------------------- *)
  77.