SetScrollRange 함수(winuser.h)
SetScrollRange 함수는 지정된 스크롤 막대의 최소 및 최대 스크롤 상자 위치를 설정합니다.
구문
BOOL SetScrollRange(
[in] HWND hWnd,
[in] int nBar,
[in] int nMinPos,
[in] int nMaxPos,
[in] BOOL bRedraw
);
매개 변수
[in] hWnd
형식: HWND
nBar 매개 변수의 값에 따라 스크롤 막대 컨트롤 또는 표준 스크롤 막대가 있는 창에 대한 핸들입니다.
[in] nBar
형식: int
설정할 스크롤 막대를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
스크롤 막대 컨트롤의 범위를 설정합니다. hwnd 매개 변수는 스크롤 막대 컨트롤에 대한 핸들이어야 합니다. |
|
창의 표준 가로 스크롤 막대 범위를 설정합니다. |
|
창의 표준 세로 스크롤 막대 범위를 설정합니다. |
[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 도입) |
추가 정보
참조