home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / qc25 / beispiel / menu.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-25  |  2.3 KB  |  76 lines

  1. /* Funktionsprototypen, Makros, Strukturen und globale Variablen für
  2.  * Menüs und dazu verwandte Funktionen
  3.  */
  4.  
  5. /* Nur einmal einfügen */
  6. #ifndef MENU_H
  7. #define MENU_H
  8.  
  9.  
  10. #define WAHR   1
  11. #define FALSCH 0
  12.  
  13. /* Tastencode-Beispiele für getkey. Im gleichen Format können weitere
  14.  * Codes hinzugefügt werden.
  15.  */
  16. #define U_UP    0x0148      /* Ohne UMSCH */
  17. #define U_DN    0x0150
  18. #define U_LT    0x014b
  19. #define U_RT    0x014d
  20. #define S_UP    0x0248      /* mit UMSCH */
  21. #define S_DN    0x0250
  22. #define S_LT    0x024b
  23. #define S_RT    0x024d
  24.  
  25. #define N_PLUS  0x014e      /* PLUS und MINUS auf Zahlentastenblock */
  26. #define N_MINUS 0x014a
  27.  
  28. #define EINGABE     13      /* ASCII */
  29.  
  30. /* Aktionscodes für getkey */
  31. enum AKTIONSCODE { NO_WAIT, WAIT, CLEAR_WAIT };
  32.  
  33. /* Text-Ausgabefarben. Beachten Sie, daß für Monochrom nur _TBLACK
  34.  * _TWHITE, _TBRIGHTWHITE und _TUNDERLINE verwendbar sind und daß
  35.  * Schwarz/Weiß-Grafik davon nur die ersten drei verwenden kann. Die
  36.  * ersten acht Farben können Hintergundfarben sein (sie müssen aber
  37.  * möglicherweise auf Typ long umgewandelt werden).
  38.  */
  39. enum TEXTFARBEN
  40. {
  41.     _TBLACK,        _TBLUE,         _TGREEN,        _TCYAN,
  42.     _TRED,          _TMAGENTA,      _TBROWN,        _TWHITE,
  43.     _TGREY,         _TLIGHTBLUE,    _TLIGHTGREEN,   _TLIGHTCYAN,
  44.     _TLIGHTRED,     _TLIGHTMAGENTA, _TLIGHTYELLOW,  _TBRIGHTWHITE,
  45.     _TUNDERLINE = 1
  46. };
  47. #define _TUNDERLINE 1
  48.  
  49. /* Struktur und Globalvariablen für Menüattribute */
  50. typedef struct _MENU
  51. {
  52.     int     fgRand, fgNormal, fgAuswahl, fgNormalHell, fgWahlHell;
  53.     long    bgRand, bgNormal, bgAuswahl, bgNormalHell, bgWahlHell;
  54.     int     fMittig;
  55.     unsigned char   chNW, chNE, chSE, chSW, chNS, chEW;
  56. } MENU;
  57. extern MENU mnuAtrib;
  58.  
  59. /* Struktur und Höchstlänge für Menü-Wahlmöglichkeiten */
  60. #define MAXITEM 25
  61. typedef struct _ITEM
  62. {
  63.     int     iErhellt;
  64.     char    achItem[MAXITEM];
  65. } ITEM;
  66.  
  67. /* Globale Menü-, Ausgabe- und Eingabe-Funktionen */
  68. int Menue( int row, int col, ITEM aItem[], int iCur );
  69. int EventSchleife( int row, int col, ITEM aItem[], int iCur, int CItem,
  70.            int cchItem, int acchItem[], char accHilite[]);
  71. void Box( int row, int col, int rowLetzt, int colLetzt );
  72. unsigned GetKey( int fWait );
  73. void _outchar( char out );
  74.  
  75. #endif /* MENU_H */
  76.