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  

리턴 값

성공적으로 완료되면 이러한 서브루틴은 새 창에 대한 포인터를 반환합니다. 그렇지 않으면 널 포인터를 반환합니다.

더윈뉴윈 서브루틴의 경우:

  1. 새 창을 만들려면 입력합니다:
    WINDOW *my_window;
     
    my_window = newwin(5, 10, 20, 30);
    my_window이제 창5라인 깊이,10열 너비의 좌표에서 시작하여 y =20, x =30. 즉, 왼쪽 위 모서리는 좌표 y =20, x =30에 있고, 오른쪽 아래 모서리는 좌표 y =24, x =39.
  2. 터미널의 오른쪽과 같은 높이의 창을 만들려면 입력합니다:
    WINDOW *my_window;
     
    my_window = newwin(5, 0, 20, 30);
    my_window이제 창5좌표에서 시작하여 터미널의 오른쪽으로 끝까지 연장된 선의 깊이를 표시합니다20, x =30. 왼쪽 위 모서리는 좌표 y =20, x =30에 있고, 오른쪽 아래 모서리는 좌표 y =24, x =lastcolumn.
  3. 터미널 전체를 채우는 창을 만들려면 입력합니다:
    WINDOW *my_window;
     
    my_window = newwin(0, 0, 0, 0);
    my_window은 이제 단말기 디스플레이 전체를 가득 채우는 창 화면이 됩니다.

서브윈 서브루틴의 경우:

  1. 하위 창을 만들려면 다음을 사용합니다:
    WINDOW *my_window, *my_sub_window;
    my_window = newwin (derwin, newwin, or subwin Subroutine)
                (5, 10, 20, 30);
    my_sub_window은 이제 하위 창입니다2라인 깊이,5열 너비, 부모 창의 동일한 좌표에서 시작하여my_window. 즉, 하위 창의 왼쪽 위 모서리는 좌표 y =( 20, x =30그리고 오른쪽 아래 모서리는 좌표 y =21, x =34.
  2. 부모의 오른쪽과 같은 높이에 있는 하위 창을 만들려면 다음을 사용합니다
    WINDOW *my_window, *my_sub_window;
    my_window =
    newwin (derwin, newwin, or subwin Subroutine)(5, 10, 20, 30);
    my_sub_window = subwin(my_window, 2, 0, 20, 30);
    my_sub_window은 이제 하위 창입니다2선 깊이로 부모 창의 오른쪽까지 확장됩니다my_window를 클릭하고 동일한 좌표에서 시작합니다. 즉, 하위 창의 왼쪽 위 모서리는 좌표 y = =20, x =30그리고 오른쪽 아래 모서리는 좌표 y =21, x =39.
  3. 부모의 오른쪽 아래 모서리에 하위 창을 만들려면 다음을 사용합니다:
    WINDOW *my_window, *my_sub_window
    my_window = newwwin (derwin, newwin, or subwin Subroutine)
                (5, 10, 20, 30);
    my_sub_window = subwin(my_window, 0, 0, 22, 35);
    my_sub_window는 이제 상위 창의 오른쪽 하단을 채우는 하위 창이 됩니다,my_window좌표 y =22, x =35. 즉, 하위 창의 왼쪽 위 모서리는 좌표 y =(22, x =35그리고 오른쪽 아래 모서리는 좌표 y =24, x =39.