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 함수 호출 바로 뒤에 있는 경우 스크롤 막대가 두 번 그려지지 않도록 SetScrollPosbRedraw 매개 변수는 0이어야 합니다.

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

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

그러나 SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPosGetScrollRange 함수는 32비트 스크롤 막대 위치 데이터를 지원하므로 WM_HSCROLLWM_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