home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / CPROG / LVSWIN31.ZIP / DEMO4.CPP < prev    next >
C/C++ Source or Header  |  1992-02-25  |  3KB  |  99 lines

  1. #include "lvsmenu.hpp"
  2.  
  3.  
  4. WinMenu main_menu;
  5.  
  6. void Open_Menus ()
  7. {
  8.     static WinMenu sub[5];
  9.     
  10.     /*
  11.      * Hide all the sub menus before opening them.
  12.      * Also prevent the user from moving/resizing the submenus
  13.      * Not required, but looks better.
  14.      */
  15.  
  16.     for (int i = 0; i < 5; i++)
  17.         {
  18.         sub[i].hide ();
  19.         sub[i].set_type (MENU_SUB);
  20.         sub[i].allow_user_moves (FALSE);
  21.         }
  22.  
  23.     sub[0].open (1, 0, 6, 13, W_SINGLE, _LGREY|BLUE, _LGREY|BLUE);
  24.     sub[0].set_keyattr (_LGREY|RED);
  25.     sub[0].set_barattr (_BLUE|WHITE);
  26.     sub[0].prompt (0, 0, 11, " Sub item 1 ", '1');
  27.     sub[0].prompt (1, 0, 12, " Sub item 2 ", '2');
  28.     sub[0].prompt (2, 0, 13, " Sub item 3 ", '3');
  29.     sub[0].prompt (3, 0, 14, " Sub item 4 ", '4');
  30.  
  31.     sub[1].open (1, 15, 6, 28, W_SINGLE, _LGREY|BLUE, _LGREY|BLUE);
  32.     sub[1].set_keyattr (_LGREY|RED);
  33.     sub[1].set_barattr (_BLUE|WHITE);
  34.     sub[1].prompt (0, 0, 21, " Sub item 1 ", '1');
  35.     sub[1].prompt (1, 0, 22, " Sub item 2 ", '2');
  36.     sub[1].prompt (2, 0, 23, " Sub item 3 ", '3');
  37.     sub[1].prompt (3, 0, 24, " Sub item 4 ", '4');
  38.  
  39.     sub[2].open (1, 30, 6, 43, W_SINGLE, _LGREY|BLUE, _LGREY|BLUE);
  40.     sub[2].set_keyattr (_LGREY|RED);
  41.     sub[2].set_barattr (_BLUE|WHITE);
  42.     sub[2].prompt (0, 0, 31, " Sub item 1 ", '1');
  43.     sub[2].prompt (1, 0, 32, " Sub item 2 ", '2');
  44.     sub[2].prompt (2, 0, 33, " Sub item 3 ", '3');
  45.     sub[2].prompt (3, 0, 34, " Sub item 4 ", '4');
  46.  
  47.     sub[3].open (1, 45, 6, 58, W_SINGLE, _LGREY|BLUE, _LGREY|BLUE);
  48.     sub[3].set_keyattr (_LGREY|RED);
  49.     sub[3].set_barattr (_BLUE|WHITE);
  50.     sub[3].prompt (0, 0, 41, " Sub item 1 ", '1');
  51.     sub[3].prompt (1, 0, 42, " Sub item 2 ", '2');
  52.     sub[3].prompt (2, 0, 43, " Sub item 3 ", '3');
  53.     sub[3].prompt (3, 0, &sub[4], " Submenu 5  ", '5');
  54.  
  55.     /*
  56.      * sub[4] is a sub menu of sub[3]
  57.      */
  58.     sub[4].open (4, 58, 9, 71, W_SINGLE, _LGREY|BLUE, _LGREY|BLUE);
  59.     sub[4].set_keyattr (_LGREY|RED);
  60.     sub[4].set_barattr (_BLUE|WHITE);
  61.     sub[4].prompt (0, 0, 51, " Sub item 1 ", '1');
  62.     sub[4].prompt (1, 0, 52, " Sub item 2 ", '2');
  63.     sub[4].prompt (2, 0, 53, " Sub item 3 ", '3');
  64.     sub[4].prompt (3, 0, 54, " Sub item 4 ", '4');
  65.  
  66.     main_menu.open (0, 0, 0, 79, W_NOBORDER, _LGREY|BLUE);
  67.     main_menu.set_keyattr (_LGREY|RED);
  68.     main_menu.set_barattr (_BLUE|WHITE);
  69.     main_menu.prompt (0,  0, &sub[0], " Submenu 1 ", '1');
  70.     main_menu.prompt (0, 15, &sub[1], " Submenu 2 ", '2');
  71.     main_menu.prompt (0, 30, &sub[2], " Submenu 3 ", '3');
  72.     main_menu.prompt (0, 45, &sub[3], " Submenu 4 ", '4');
  73.     main_menu.prompt (0, 60, 0, " Quit ", "", 'Q');
  74.  
  75. }
  76.  
  77. void main ()
  78. {
  79.     Win_mouse_mode (M_FULL);
  80.  
  81.     Open_Menus ();
  82.  
  83.     int result = 1;
  84.     WinObj w;
  85.  
  86.     do  {
  87.         result = main_menu.read (result);
  88.  
  89.         w.open (12, 15, 17, 50);
  90.         w.printf (" Menu result = %d", result);
  91.         w.printf (3, 1, "Press any key to continue");
  92.         w.get_key ();
  93.         w.close ();
  94.  
  95.         } while (result != 0);
  96. }
  97.  
  98.  
  99.