home *** CD-ROM | disk | FTP | other *** search
- (* ----------------------------------------------------- *)
- (* MENUDEMO.PAS *)
- (* Zum Testen der einzelnen Menüitems *)
- (* (c) 1991 by R.Reichert & toolbox *)
- (* ----------------------------------------------------- *)
- PROGRAM MenuItemsDemo;
-
- USES Stuff, WinVSM, MouKey, MnuItems, MnuSched;
-
- VAR
- VSM : WExtVSMPtr;
- Menu : PopUpMenuPtr;
- Answer : BYTE;
- Quit : BOOLEAN;
- Ev : EventObj;
- BoolPtr: BOOLEAN;
-
- BEGIN
- BoolPtr := TRUE;
- VSM := New (WExtVSMPtr,
- Init (New (ScreenObjPtr, Init (0, 0))));
- VSM^.ClrScr;
- {
- Menu := New (SlideBarPtr, Init);
- }
- Menu := New (PopUpMenuPtr,
- Init (10, 10, 21, 15, VSM));
- IF Menu=NIL THEN BEGIN
- Writeln ('*** Fehler: Objekt konnte nicht ',
- 'initialisiert werden.');
- Writeln;
- Writeln (' Programm abgebrochen.');
- Halt (1);
- END;
- EvHand^.SetTakeOut (TRUE);
- Mouse^.Show;
- Quit := FALSE;
- WITH Menu^ DO BEGIN
- Add (New (ExeItemPtr,
- Init (11, 11, ' Item #1 ', Alt1,
- 1, 25, 'NoHelp', TRUE, VSM)));
- Add (New (SwitchItemPtr,
- Init (11, 12, ' Item #2 ', Alt2,
- 1, 25, 'NoHelp', TRUE, VSM)));
- Add (New (LineItemPtr,
- Init (10, 13, 21, VSM)));
- Add (New (GlobalSwitchItemPtr,
- Init (11, 14, ' Item #4 ', Alt4,
- 1, 25, 'NoHelp', @BoolPtr, VSM)));
- END;
- Menu^.Open;
- Answer := SchOk;
- REPEAT
- EvHand^.WaitForEvent (EvAll, Ev);
- Menu^.CheckEvent (Ev);
- Answer := Menu^.GetReturnCode;
- Quit := (Answer=MenuSelected) OR
- (Answer=ActSubMenu) OR
- (Answer=MenuCanceled);
- UNTIL Quit;
- EvHand^.SetTakeOut (FALSE);
- Menu^.Close;
- Mouse^.Hide;
- VSM^.GotoXY (1, 10);
- Writeln (BoolPtr);
- IF Answer<>MenuCanceled THEN
- Writeln ('Gewählt: ', Menu^.GetActiveItem)
- ELSE
- Writeln ('Abbruch mit ESC.');
- ReadLn;
- Dispose (Menu, Done);
- Dispose (VSM, Done);
- END.
- (* ----------------------------------------------------- *)
- (* Ende von MENUDEMO.PAS *)
- (* ----------------------------------------------------- *)