A1exSun
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: int ShowMenu(char **item, int n, int v, int a) { // виведення меню int i, len; int c = 0, j = 0, x = wherex(), y = wherey(), r = 0; if (v > n || v <= 0) v = n; if (a >= 80) a = 5; while(1) { gotoxy(x,y); clreos(v); for (i = 0; i < v; i++) { if (c == i) { textbackground(C.TColor); textcolor(C.BColor); } gotoxy(wherex()+a,wherey()); cprintf("%s\r\n",item[i+j]); textbackground(C.BColor); textcolor(C.TColor); } switch(getch()) { case 72: if (c > 0) c--; else if (c == 0 && j > 0) j--; else { c = v - 1; j = n - v; } break; case 80: if (c + 1 < v) c++; else if (j + c + 1 < n) j++; else { c = 0; j = 0; } break; case 13: r = j + c + 1; case 27: return r; } } } | char **item - массив пунктов меню, int n - их количество, int v - количество видимых, int a - отступ слева | Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 19:33 03-03-2012 | Исправлено: A1exSun, 20:06 03-03-2012 |
|