Category : Modula II Source Code
Archive   : FM2LIB31.ZIP
Filename : MENU.DEF

 
Output of file : MENU.DEF contained in archive : FM2LIB31.ZIP
DEFINITION MODULE Menu;

(* (C) Copyright 1987,1988 Fitted Software Tools. All rights reserved. *)

(*
This module uses the module Windows to create windows for the menus.
*)

PROCEDURE PopMenu( line, col :CARDINAL;
menu :ARRAY OF CHAR;
width :CARDINAL;
clear :BOOLEAN;
VAR cmd :CARDINAL );
(*
Pop a menu at line,col.

menu is a string of menu items separated by the character '|'.
The first item is the menu title.

width is the minimum width for the menu window.

IF clear THEN the menu window is destroyed upon menu selection
ELSE the menu window stays on the screen and must be destroyed
by Windows.CloseCurWindow

cmd will be 0 if no item was select (ESC), or the number of the
item selected off the menu.

If on return cmd = 0, the window was closed, regardless of the
value of clear.
*)

PROCEDURE PullDownMenu( line :CARDINAL;
frame :BOOLEAN;
MainMenu :ARRAY OF CHAR;
SubMenus :ARRAY OF CHAR;
clear :BOOLEAN;
VAR cmd1, cmd2 :CARDINAL );
(*
Create a pull down menu at line line.

frame determines whether the pull down bar should be framed.

MainMenu is a string of pull down menu items, separated by '|'.

SubMenus is a string of submenus separated by '&'; each of the
submenus contain a list of selections separated by '|'.

On return, cmd1 contains the number of the main menu item selected
and cmd2 contains the number of the item selected from the submenu.

If the user presses the ESC key, cmd1 will be = 0.

All the menu windows are closed before returning.
*)

(* Examples:
PopMenu( 5,10,"Main Menu|Hello|Bye|Quit",0,TRUE,cmd );

PullDownMenu( 0, FALSE, "Hello|Bye|Quit", "1|2|3&4|5|6&0", FALSE,
cmd1, cmd2 );
*)

END Menu.

  3 Responses to “Category : Modula II Source Code
Archive   : FM2LIB31.ZIP
Filename : MENU.DEF

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/