home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / 1991 / 06 / dflat3 / menu.h < prev    next >
Text File  |  1991-04-22  |  903b  |  42 lines

  1. /* ------------ menu.h ------------- */
  2.  
  3. #ifndef MENU_H
  4. #define MENU_H
  5.  
  6. struct PopDown {
  7.     char *SelectionTitle;
  8.     int ActionId;
  9.     int Accelerator;
  10.     int Attrib;
  11. };
  12.  
  13. typedef struct Menu {
  14.     char *Title;
  15.     void (*PrepMenu)(void *, struct Menu *);
  16.     struct PopDown Selections[23];
  17.     int Selection;
  18. } MENU;
  19.  
  20. #define SEPCHAR "\xc4"
  21. #define DEFMENU(m) MENU m[]= {
  22. #define POPDOWN(ttl,func)      {ttl,func,{
  23. #define SELECTION(stxt,acc,id,attr)     {stxt,acc,id,attr},
  24. #define SEPARATOR                          {SEPCHAR},
  25. #define ENDPOPDOWN                         {NULL},0}},
  26. #define ENDMENU                {NULL} };
  27.  
  28. /* -------- menu selection attributes -------- */
  29. #define INACTIVE    1
  30. #define CHECKED        2
  31. #define TOGGLE        4
  32.  
  33. extern MENU MainMenu[];
  34. extern MENU SystemMenu[];
  35. extern MENU *ActiveMenu;
  36.  
  37. int MenuHeight(struct PopDown *);
  38. int MenuWidth(struct PopDown *);
  39.  
  40. #endif
  41.  
  42.