Advertisement
MARSHAL327

Untitled

Nov 24th, 2019
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. // ==========ШАБЛОН ПЕЧАТИ МЕНЮ==========
  2. void print_menu(int sym, const string items[], const int N_ITEMS) {
  3.     for (int i = 1; i <= N_ITEMS; i++) {
  4.         SetColor(7, 0);
  5.         gotoxy((width / 2) - 6, (height / 2) + i - 3); // ставим меню в центр
  6.         if (i == sym) {
  7.             SetColor(7, 5);
  8.         }
  9.         cout << items[i - 1] << endl;
  10.         SetColor(7, 0);
  11.     }
  12. }
  13.  
  14. // ==========МЕНЮ==========
  15. int menu(int& active, const string items[], int num_el) {
  16.     wint_t buf;
  17.  
  18.     do {
  19.         cls();
  20.         print_menu(active, items, num_el - 1);
  21.  
  22.         buf = _getwch();
  23.         switch (buf) {
  24.         case up: // клавиша вверх
  25.             if (active > 1) active--;
  26.             break;
  27.         case down: // клавиша вниз
  28.             if (active < num_el - 1) active++;
  29.             break;
  30.         case enter: // клавиша enter
  31.             return active;
  32.         case esc: // клавиша escape
  33.             return -1;
  34.         case del:
  35.             return -active;
  36.         }
  37.     } while (1);
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement