derwin, newwin 또는 subwin 서브루틴
용도
창 생성 서브루틴.
라이브러리
커서 라이브러리libcurses.a
구문
#include <curses.h>
WINDOW *derwin(WINDOW *orig,
int nlines,
int ncols,
int begin_y,
int begin_x);
WINDOW *newwin(int nlines,
int ncols,
int begin_y,
int begin_x);
WINDOW *subwin(WINDOW *orig,
int nlines,
int ncols,
int begin_y,
int begin_x);설명
Derwin 서브루틴은 시작_y와 시작_x가 절대적인 화면 위치가 아닌 창 원점을 기준으로 한다는 점을 제외하면 subwin 서브루틴과 동일합니다.
Newwin 서브루틴은 원점이(begin_y, begin_x)에 위치하도록 nlines 행과 ncols 열이 있는 새 창을 만듭니다. Nlines가 0이면 기본값은 LINES - begin_y이고, ncols가 0이면 기본값은 COLS - begin_x입니다.
Subwin 서브루틴은 원점이(begin_y, begin_x)에 위치하도록 nlines 행과 ncols 열이 있는 새 창을 만듭니다. (이 위치는 창 원점을 기준으로 한 위치가 아니라 절대적인 화면 위치입니다.) 새 창의 일부가 원본 외부에 있으면 서브루틴이 실패하고 창이 생성되지 않습니다.
매개변수
| 항목 | 설명 |
|---|---|
| ncols | |
| nlines | |
| begin_y | |
| 시작_x |
리턴 값
성공적으로 완료되면 이러한 서브루틴은 새 창에 대한 포인터를 반환합니다. 그렇지 않으면 널 포인터를 반환합니다.
예
더윈 및 뉴윈 서브루틴의 경우:
- 새 창을 만들려면 입력합니다:
my_window이제 창5라인 깊이,10열 너비의 좌표에서 시작하여 y =20, x =30. 즉, 왼쪽 위 모서리는 좌표 y =20, x =30에 있고, 오른쪽 아래 모서리는 좌표 y =24, x =39.WINDOW *my_window; my_window = newwin(5, 10, 20, 30); - 터미널의 오른쪽과 같은 높이의 창을 만들려면 입력합니다:
my_window이제 창5좌표에서 시작하여 터미널의 오른쪽으로 끝까지 연장된 선의 깊이를 표시합니다20, x =30. 왼쪽 위 모서리는 좌표 y =20, x =30에 있고, 오른쪽 아래 모서리는 좌표 y =24, x =lastcolumn.WINDOW *my_window; my_window = newwin(5, 0, 20, 30); - 터미널 전체를 채우는 창을 만들려면 입력합니다:
my_window은 이제 단말기 디스플레이 전체를 가득 채우는 창 화면이 됩니다.WINDOW *my_window; my_window = newwin(0, 0, 0, 0);
서브윈 서브루틴의 경우:
- 하위 창을 만들려면 다음을 사용합니다:WINDOW *my_window, *my_sub_window;my_sub_window은 이제 하위 창입니다2라인 깊이,5열 너비, 부모 창의 동일한 좌표에서 시작하여my_window. 즉, 하위 창의 왼쪽 위 모서리는 좌표 y =( 20, x =30그리고 오른쪽 아래 모서리는 좌표 y =21, x =34.
my_window = newwin (derwin, newwin, or subwin Subroutine)
(5, 10, 20, 30); - 부모의 오른쪽과 같은 높이에 있는 하위 창을 만들려면 다음을 사용합니다WINDOW *my_window, *my_sub_window;my_sub_window은 이제 하위 창입니다2선 깊이로 부모 창의 오른쪽까지 확장됩니다my_window를 클릭하고 동일한 좌표에서 시작합니다. 즉, 하위 창의 왼쪽 위 모서리는 좌표 y = =20, x =30그리고 오른쪽 아래 모서리는 좌표 y =21, x =39.
my_window =
newwin (derwin, newwin, or subwin Subroutine)(5, 10, 20, 30);
my_sub_window = subwin(my_window, 2, 0, 20, 30); - 부모의 오른쪽 아래 모서리에 하위 창을 만들려면 다음을 사용합니다:WINDOW *my_window, *my_sub_windowmy_sub_window는 이제 상위 창의 오른쪽 하단을 채우는 하위 창이 됩니다,my_window좌표 y =22, x =35. 즉, 하위 창의 왼쪽 위 모서리는 좌표 y =(22, x =35그리고 오른쪽 아래 모서리는 좌표 y =24, x =39.
my_window = newwwin (derwin, newwin, or subwin Subroutine)
(5, 10, 20, 30);
my_sub_window = subwin(my_window, 0, 0, 22, 35);