창 및 화면 버퍼 크기

화면 버퍼의 크기는 문자 셀을 기준으로 좌표 눈금으로 표현됩니다. 너비는 각 행의 문자 셀 수이며 높이는 행 수입니다. 각 화면 버퍼와 연결된 창은 콘솔 창에 표시되는 콘솔 화면 버퍼의 사각형 부분의 크기와 위치를 결정하는 창입니다. 화면 버퍼의 창은 창 사각형의 왼쪽 위와 오른쪽 아래 셀의 문자 셀 좌표를 지정하여 정의됩니다.

참고 항목

가상 터미널 시퀀스 환경에서는 창의 크기와 화면 버퍼의 크기가 동일한 값으로 고정됩니다. 터미널은 화면 버퍼 크기가 창 크기보다 큰 콘솔과 동일한 스크롤백 영역을 처리합니다. 해당 콘텐츠는 터미널에 속하며 일반적으로 더 이상 주소 지정 가능 영역의 일부가 아닙니다. 자세한 내용은 클래식 콘솔 함수와 가상 터미널 시퀀스의 비교 를 참조하세요.

화면 버퍼는 사용 가능한 메모리에 의해서만 제한되는 모든 크기일 수 있습니다. 화면 버퍼 창의 크기는 콘솔 화면 버퍼 또는 현재 글꼴 크기(사용자가 단독으로 제어)에 따라 화면에 맞을 수 있는 최대 창의 해당 크기를 초과할 수 없습니다.

GetConsoleScreenBufferInfo 함수는 화면 버퍼 및 해당 창에 대한 다음 정보를 반환합니다.

  • 콘솔 화면 버퍼의 현재 크기
  • 창의 현재 위치
  • 현재 화면 버퍼 크기, 현재 글꼴 크기 및 화면 크기가 지정된 창의 최대 크기

GetLargestConsoleWindowSize 함수는 현재 글꼴 및 화면 크기에 따라 콘솔 창의 최대 크기를 반환합니다. 이 크기는 콘솔 화면 버퍼 크기가 무시된다는 점에서 GetConsoleScreenBufferInfo에서 반환하는 최대 창 크기와 다릅니다.

화면 버퍼의 크기를 변경하려면 SetConsoleScreenBufferSize 함수를 사용합니다. 지정된 크기의 두 차원이 콘솔 창의 해당 차원보다 작으면 이 함수가 실패합니다.

화면 버퍼 창의 크기 또는 위치를 변경하려면 SetConsoleWindowInfo 함수를 사용합니다. 지정된 창 모서리 좌표가 콘솔 화면 버퍼 또는 화면의 제한을 초과하면 이 함수가 실패합니다. 활성 화면 버퍼의 창 크기를 변경하면 화면에 표시되는 콘솔 창의 크기가 변경됩니다.

사용자가 콘솔 화면 버퍼 크기를 변경할 때 프로세스가 입력을 받을 수 있도록 프로세스에서 창 입력을 사용하도록 콘솔의 입력 모드를 변경할 수 있습니다. 애플리케이션에서 창 입력을 사용하도록 설정하는 경우 GetConsoleScreenBufferInfo를 사용하여 시작할 때 창 및 화면 버퍼 크기를 검색할 수 있습니다. 그런 다음 이 정보를 사용하여 창에 데이터가 표시되는 방식을 확인할 수 있습니다. 사용자가 콘솔 화면 버퍼 크기를 변경하는 경우 애플리케이션은 데이터가 표시되는 방식을 변경하여 응답할 수 있습니다. 예를 들어 애플리케이션은 행당 문자 수가 변경되면 줄 끝에서 텍스트 줄 바꿈 방식을 조정할 수 있습니다. 애플리케이션에서 창 입력을 사용하지 않는 경우 상속된 창 및 화면 버퍼 크기를 사용하거나 시작 중에 원하는 크기로 설정하고 종료 시 상속된 크기를 복원해야 합니다. 창 입력 모드에 대한 자세한 내용은 하위 수준 콘솔 모드를 참조 하세요.