Program MenusDemo; { Demonstriert Benutzung des Units "Menus" } { Jens Gelhar 1990 } { MaxonPascal3-Anpassung / Test: Falk Zühlsdorff (PackMAN) 1994 } Uses Crt; From Windows Uses Menus; Var c : Char; x, y : integer; Begin WindowTitles('Menü-Demo', Str(-1)); AddMenu(10, 'Projekt', true); AddItem( 0, 0, 'Open', ' '); AddItem(12, 0, 'Close', 'S'); AddItem(24, 0, 'Quit', 'Q'); AddMenu(100, 'Edit', true); AddItem( 0, 0, 'Cut', 'X'); AddItem(12, 0, 'Copy', 'C'); AddItem(24, 0, 'Paste', 'P'); AddItem(36, 0, 'Delete All', ' '); AddMenu(200, 'Optionen', true); AddItem( 0, 0, 'Farbe', ' '); AddSubItem( 0, CheckOff, ' Schwarz', '0'); MutualExclude(%1110); AddSubItem(12, CheckOn, ' Weiß', '1'); MutualExclude(%1101); AddSubItem(24, CheckOff, ' Blau', '2'); MutualExclude(%1011); AddSubItem(36, CheckOff, ' Rot', '3'); MutualExclude(%0111); AddItem(12, 0, 'Stil', ' '); AddSubItem( 0, 0, 'Normal', 'N'); MutualExclude(%110); AddSubItem(12, ToggleOff, ' Fett' , 'F'); MutualExclude(%001); AddSubItem(24, ToggleOff, ' Kursiv', 'K'); MutualExclude(%001); AddMenu(300, 'Special', true); AddItem( 0, CheckOn, ' Himpelsoft', 'H'); MutualExclude(%110); AddItem(12, CheckOff, ' Maxon', ' '); MutualExclude(%101); AddItem(24, CheckOff, ' B**land', ' '); MutualExclude(%010); AddIDCMP(MOUSEBUTTONS); REPEAT c := ReadKey; If MenuPicked Then While MenuPicked Do Begin Writeln(PickedMenu:20, PickedItem:10, PickedSubItem:10 ); If (PickedMenu=2) and (PickedItem=0) Then { Untermenü "Farbe" } Writeln('Farbwechsel: *****', #e, PickedSubItem+30,'m***'); If (PickedMenu=2) and (PickedItem=1) Then { Untermenü "Stil" } Begin Write(#e'0mStilwechsel: *****'); { Normalen Stil setzen } If MenuChecked(2,1,1) Then Write(#e'1m'); { Fett } If MenuChecked(2,1,2) Then Write(#e'3m'); { Kursiv } Writeln ('*****') End; NextPicked End Else If MouseClicked Or RightButtonPressed Then Begin x := MouseX; y := MouseY; GotoXY( x div 8, y div 8); { Cursor setzen } If RightButtonPressed Then Write('X') Else Write('O'); GotoXY (1, 1); End Else Writeln('Zeichen #',ord(c)); Until WindowClosed Or (c=#13) Or ((PickedMenu=0) and (PickedItem=2)) End.