Новые окна
Далее следуют описания подпрограмм newwin() и subwin(), которые применяются для создания новых окон. В curses(3X) описаны подп- рограммы newpad() и subpad() для создания новых спецокон.
newwin( )
СИНТАКСИС | |
#include <curses.h>
WINDOW *newwin (nlines, ncols, begin_y, begin_x) int nlines, ncols, begin_y, begin_x; |
ОПИСАНИЕ | |
newwin() возвращает указатель на новое окно с новой областью данных. |
Аргументы nlines и ncols задают размер нового окна.
Аргументы begin_y и begin_x задают координаты точки на экране [относительно (0, 0)], на которую отображается левый верхний угол окна.
ПРИМЕР | |
См. пример программы, работающей с двумя окнами и рисунок выше. См. также программу window в разделе Примеры программ, работающих с curses. |
subwin( )
СИНТАКСИС | |
#include <curses.h>
WINDOW *subwin (orig, nlines, ncols, begin_y, begin_x) WINDOW *orig; int nlines, ncols, begin_y, begin_x; |
ОПИСАНИЕ | |
subwin() возвращает указатель на новое окно, которое является частью ранее определенного окна, orig. |
Аргументы nlines и ncols задают размер нового окна.
Аргументы begin_y и begin_x задают координаты левого верхнего угла окна на экране терминала.
Как подокна, так и сами окна могут перекрываться.
Предостережение
На момент выпуска данного руководства не работало определение подокон у подокон.
ПРИМЕР | |
#include <curses.h>
main() { WINDOW *sub; initscr (); box (stdscr, 'w', 'w'); /* О box() см. curses(3X) */ mvaddstr (stdscr, 7, 10, "------- это 10,10"); mvaddch (stdscr, 8, 10, ''); mvaddch (stdscr, 9, 10, 'v'); sub = subwin (stdscr, 10, 20, 10, 10); box (sub, 's', 's'); wnoutrefresh (stdscr); wrefresh (sub); endwin (); } |
Эта программа заполняет границу stdscr (то есть края экрана терминала) символами w, а границу подокна sub - символами s. Другой пример см. в программе window раздела Примеры программ, работающих с curses.