SetScrollRange 함수(winuser.h)

SetScrollRange 함수는 지정된 스크롤 막대의 최소 및 최대 스크롤 상자 위치를 설정합니다.

참고SetScrollRange 함수는 이전 버전과의 호환성을 위해 제공됩니다. 새 애플리케이션은 SetScrollInfo 함수를 사용해야 합니다.
 

구문

BOOL SetScrollRange(
  [in] HWND hWnd,
  [in] int  nBar,
  [in] int  nMinPos,
  [in] int  nMaxPos,
  [in] BOOL bRedraw
);

매개 변수

[in] hWnd

형식: HWND

nBar 매개 변수의 값에 따라 스크롤 막대 컨트롤 또는 표준 스크롤 막대가 있는 창에 대한 핸들입니다.

[in] nBar

형식: int

설정할 스크롤 막대를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

값 의미
SB_CTL
스크롤 막대 컨트롤의 범위를 설정합니다. hwnd 매개 변수는 스크롤 막대 컨트롤에 대한 핸들이어야 합니다.
SB_HORZ
창의 표준 가로 스크롤 막대 범위를 설정합니다.
SB_VERT
창의 표준 세로 스크롤 막대 범위를 설정합니다.

[in] nMinPos

형식: int

최소 스크롤 위치를 지정합니다.

[in] nMaxPos

형식: int

최대 스크롤 위치를 지정합니다.

[in] bRedraw

형식: BOOL

변경 내용을 반영하도록 스크롤 막대를 다시 그릴지 여부를 지정합니다. 이 매개 변수가 TRUE이면 스크롤 막대가 다시 그려집니다. FALSE이면 스크롤 막대가 다시 그려지지 않습니다.

반환 값

형식: BOOL

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

SetScrollRange를 사용하여 nMinPos 및 nMaxPos를 동일한 값으로 설정하여 스크롤 막대를 숨길 수 있습니다. 애플리케이션은 스크롤 막대 메시지를 처리하는 동안 스크롤 막대를 숨기기 위해 SetScrollRange 함수를 호출하면 안 됩니다. 새 애플리케이션은 ShowScrollBar 함수를 사용하여 스크롤 막대를 숨겨야 합니다.

SetScrollRange 호출이 SetScrollPos 함수 호출 바로 뒤에 있는 경우 스크롤 막대가 두 번 그려지지 않도록 SetScrollPos의 bRedraw 매개 변수는 0이어야 합니다.

표준 스크롤 막대의 기본 범위는 0~100입니다. 스크롤 막대 컨트롤의 기본 범위는 비어 있습니다( nMinPos 및 nMaxPos 매개 변수 값은 모두 0임). nMinPos 및 nMaxPos 매개 변수로 지정된 값의 차이는 MAXLONG 값보다 크지 않아야 합니다.

스크롤 막대 위치( WM_HSCROLL 및 WM_VSCROLL)를 나타내는 메시지는 위치 데이터의 16비트로 제한되므로 위치 데이터에만 의존하는 애플리케이션은 SetScrollRange 함수의 nMaxPos 매개 변수에 대해 실제 최대값인 65,535를 가집니다.

그러나 SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos 및 GetScrollRange 함수는 32비트 스크롤 막대 위치 데이터를 지원하므로 WM_HSCROLL 및 WM_VSCROLL 메시지의 16비트 장벽을 우회하는 방법이 있습니다. 기술에 대한 설명은 GetScrollInfo를 참조하세요.

nBar 매개 변수가 SB_CTL hWnd 매개 변수로 지정된 창이 시스템 스크롤 막대 컨트롤이 아닌 경우 시스템은 SBM_SETRANGE 메시지를 창으로 보내 스크롤 막대 정보를 설정합니다. 이렇게 하면 SetScrollRange 가 스크롤 막대를 모방하는 사용자 지정 컨트롤에서 작동할 수 있습니다. 창에서 SBM_SETRANGE 메시지를 처리하지 않으면 SetScrollRange 함수가 실패합니다.

예제

예제는 Owner-Display 클립보드 형식 사용을 참조하세요.

요구 사항

요구 사항 값
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-misc-l1-2-0(Windows 8.1 도입)

추가 정보

GetScrollInfo

GetScrollPos

GetScrollRange

참조

SetScrollInfo

SetScrollPos

ShowScrollBar