Операционная система UNIX. Руководство программиста

       

Новые окна


Далее следуют описания подпрограмм 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.



Содержание раздела