-
Notifications
You must be signed in to change notification settings - Fork 0
5. Несколько слов о окнах
Прежде чем мы погрузимся в бесчисленные функции ncurses, позвольте мне прояснить несколько моментов, касающихся окон. Окна подробно описаны в следующих разделах.
Окно - это воображаемый экран, определяемый системой curses. Окно не означает
окно с рамкой, которое вы обычно видите на платформах Win9X
. Когда curses
инициализируется, он создает окно по умолчанию с именем stdscr
, которое
представляет ваш экран 80x25
(или размер окна, в котором вы работаете). Если вы
выполняете простые задачи, такие как печать нескольких строк, чтение ввода и т.д., вы
можете спокойно использовать это единственное окно для всех ваших целей. Вы также
можете создавать окна и вызывать функции, которые явно работают с указанным
окном.
Например, если вы вызываете:
printw("Hi There !!!");
refresh();
Он печатает строку на stdscr в текущей позиции курсора. Аналогично вызов функции
refresh()
работает только на stdscr
... Допустим, вы создали окна, тогда вам нужно
вызвать функцию с добавлением 'w
' к обычной функции:
wprintw(win, "Hi There !!!");
wrefresh(win);
Как вы увидите в остальной части документа, именование функций следует тому же соглашению. Для каждой функции обычно существует еще три функции.
printw(string); /* Печать на stdscr в текущей позиции курсора */
mvprintw(y, x, string); /* Переместиться на (y, x) и вывести строку */
wprintw(win, string); /* Печать на окне win в текущей позиции курсора */
/* в окне */
mvwprintw(win, y, x, string); /* Перемещение на (y, x) относительно окна */
/* координаты и затем печатать */
Перевод lomaster & oldteam