CScrollBar
수업
Windows 스크롤 막대 컨트롤의 기능을 제공합니다.
구문
class CScrollBar : public CWnd
멤버
공용 생성자
속성 | 설명 |
---|---|
CScrollBar::CScrollBar |
CScrollBar 개체를 생성합니다. |
공용 메서드
이름 | 설명 |
---|---|
CScrollBar::Create |
Windows 스크롤 막대를 만들어 개체에 CScrollBar 연결합니다. |
CScrollBar::EnableScrollBar |
스크롤 막대의 화살표 하나 또는 둘 다를 사용하거나 사용하지 않도록 설정합니다. |
CScrollBar::GetScrollBarInfo |
구조를 사용하여 스크롤 막대에 대한 정보를 검색합니다 SCROLLBARINFO . |
CScrollBar::GetScrollInfo |
스크롤 막대에 대한 정보를 검색합니다. |
CScrollBar::GetScrollLimit |
스크롤 막대의 제한을 검색합니다. |
CScrollBar::GetScrollPos |
스크롤 상자의 현재 위치를 검색합니다. |
CScrollBar::GetScrollRange |
지정된 스크롤 막대의 현재 최소 및 최대 스크롤 막대 위치를 검색합니다. |
CScrollBar::SetScrollInfo |
스크롤 막대에 대한 정보를 설정합니다. |
CScrollBar::SetScrollPos |
스크롤 상자의 현재 위치를 설정합니다. |
CScrollBar::SetScrollRange |
지정된 스크롤 막대에 대한 최소 및 최대 위치 값을 설정합니다. |
CScrollBar::ShowScrollBar |
스크롤 막대를 표시하거나 숨깁니다. |
설명
두 단계로 스크롤 막대 컨트롤을 만듭니다. 먼저 생성자를 CScrollBar
호출하여 개체를 CScrollBar
생성한 다음, 멤버 함수를 호출 Create
하여 Windows 스크롤 막대 컨트롤을 만들고 개체에 CScrollBar
연결합니다.
대화 상자 내에서(대화 상자 리소스 CScrollBar
를 통해) 개체를 만들 CScrollBar
면 사용자가 대화 상자를 닫으면 자동으로 제거됩니다.
창 내에서 개체를 CScrollBar
만드는 경우 개체를 삭제해야 할 수도 있습니다.
스택에 개체를 CScrollBar
만들면 자동으로 제거됩니다. 함수를 CScrollBar
사용하여 힙에 개체를 new
만드는 경우 사용자가 Windows 스크롤 막대를 종료할 때 개체를 호출 delete
하여 삭제해야 합니다.
개체에 메모리를 CScrollBar
할당하는 경우 소멸자를 재정 CScrollBar
의하여 할당을 삭제합니다.
사용에 CScrollBar
대한 관련 정보는 컨트롤을 참조 하세요.
상속 계층 구조
CScrollBar
요구 사항
머리글: afxwin.h
CScrollBar::Create
Windows 스크롤 막대를 만들어 개체에 CScrollBar
연결합니다.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
매개 변수
dwStyle
스크롤 막대의 스타일을 지정합니다. 스크롤 막대 스타일 조합을 스크롤 막대에 적용합니다.
rect
스크롤 막대의 크기와 위치를 지정합니다. 구조체 또는 CRect
개체일 RECT
수 있습니다.
pParentWnd
스크롤 막대의 부모 창(일반적으로 개체)을 CDialog
지정합니다. 해서는 안 됩니다 NULL
.
nID
스크롤 막대의 컨트롤 ID입니다.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
두 단계로 개체를 CScrollBar
생성합니다. 먼저 개체를 생성하는 CScrollBar
생성자를 호출한 다음, 호출 Create
하여 연결된 Windows 스크롤 막대를 만들고 초기화하고 개체에 CScrollBar
연결합니다.
스크롤 막대에 다음 창 스타일을 적용합니다.
WS_CHILD
늘WS_VISIBLE
보통WS_DISABLED
드물게WS_GROUP
컨트롤을 그룹화하려면
예시
// Example 1:
// Create a horizontal CScrollBar control as a child window of CMyDialog
// class (a CDialog-derived class). The scroll bar is NOT visible until the
// call ShowScrollBar() is made. m_ScrollBarHorz is of type CScrollBar class,
// and it is a member variable in CMyDialog class.
VERIFY(m_ScrollBarHorz.Create(SBS_HORZ | SBS_TOPALIGN | WS_CHILD,
CRect(5, 5, 100, 30), this, IDC_SCROLLBARCTRL));
m_ScrollBarHorz.ShowScrollBar();
// Example 2:
// Create a vertical CScrollBar control as a child window of CMyDialog
// class (a CDialog-derived class). m_ScrollBarVert is of type CScrollBar
// class, and it is a member variable in CMyDialog class.
VERIFY(m_ScrollBarVert.Create(SBS_VERT | SBS_LEFTALIGN | WS_CHILD |
WS_VISIBLE,
CRect(5, 30, 30, 130), this, IDC_SCROLLBARCTRL));
CScrollBar::CScrollBar
CScrollBar
개체를 생성합니다.
CScrollBar();
설명
개체를 생성한 후 멤버 함수를 Create
호출하여 Windows 스크롤 막대를 만들고 초기화합니다.
예시
CScrollBar m_ScrollBarHorz;
CScrollBar::EnableScrollBar
스크롤 막대의 화살표 하나 또는 둘 다를 사용하거나 사용하지 않도록 설정합니다.
BOOL EnableScrollBar(UINT nArrowFlags = ESB_ENABLE_BOTH);
매개 변수
nArrowFlags
스크롤 화살표를 사용할지 또는 사용하지 않도록 설정할지, 어떤 화살표를 사용하도록 설정하거나 사용하지 않도록 설정할지를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
ESB_ENABLE_BOTH
스크롤 막대의 두 화살표를 모두 사용하도록 설정합니다.ESB_DISABLE_LTUP
가로 스크롤 막대의 왼쪽 화살표 또는 세로 스크롤 막대의 위쪽 화살표를 사용하지 않도록 설정합니다.ESB_DISABLE_RTDN
가로 스크롤 막대의 오른쪽 화살표 또는 세로 스크롤 막대의 아래쪽 화살표를 사용하지 않도록 설정합니다.ESB_DISABLE_BOTH
스크롤 막대의 두 화살표를 모두 사용하지 않도록 설정합니다.
Return Value
지정된 대로 화살표를 사용하거나 사용하지 않도록 설정한 경우 0이 아닌 경우 그렇지 않으면 화살표가 이미 요청된 상태이거나 오류가 발생했음을 나타내는 0입니다.
예시
CScrollBar::SetScrollRange
에 대한 예를 참조하세요.
CScrollBar::GetScrollBarInfo
SCROLLBARINFO
구조체에서 스크롤 막대에 대해 유지 관리하는 정보를 검색합니다.
BOOL GetScrollBarInfo(PSCROLLBARINFO pScrollInfo) const;
매개 변수
pScrollInfo
구조체에 대한 포인터입니다 SCROLLBARINFO
.
Return Value
성공하면 TRUE
를 반환하고 실패하면 FALSE
를 반환합니다.
설명
이 멤버 함수는 Windows SDK에 SBM_SCROLLBARINFO
설명된 대로 메시지의 기능을 에뮬레이트합니다.
CScrollBar::GetScrollInfo
SCROLLINFO
구조체에서 스크롤 막대에 대해 유지 관리하는 정보를 검색합니다.
BOOL GetScrollInfo(
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
매개 변수
lpScrollInfo
구조체에 대한 포인터입니다 SCROLLINFO
. 이 구조에 대한 자세한 내용은 Windows SDK를 참조하세요.
nMask
검색할 스크롤 막대 매개 변수를 지정합니다. 일반적인 사용법, SIF_ALL
, , SIF_POS
SIF_TRACKPOS
및 .SIF_PAGE
SIF_RANGE
값에 nMask
대한 자세한 내용은 참조 SCROLLINFO
하세요.
Return Value
메시지가 값을 검색한 경우 반환은 .입니다 TRUE
. 아니면 FALSE
입니다.
설명
GetScrollInfo
를 사용하면 애플리케이션에서 32비트 스크롤 위치를 사용할 수 있습니다.
구조체에는 SCROLLINFO
최소 및 최대 스크롤 위치, 페이지 크기 및 스크롤 상자의 위치(엄지 손가락)를 포함하여 스크롤 막대에 대한 정보가 포함됩니다. SCROLLINFO
구조 기본값 변경에 대한 자세한 내용은 Windows SDK의 구조 항목을 참조하세요.
스크롤 막대 위치를 나타내고 CWnd::OnVScroll
16비트 위치 CWnd::OnHScroll
데이터만 제공하는 MFC Windows 메시지 처리기입니다. GetScrollInfo
SetScrollInfo
32비트 스크롤 막대 위치 데이터를 제공합니다. 따라서 애플리케이션은 처리하는 CWnd::OnHScroll
동안 호출 GetScrollInfo
하거나 CWnd::OnVScroll
32비트 스크롤 막대 위치 데이터를 가져올 수 있습니다.
예시
CWnd::OnHScroll
에 대한 예를 참조하세요.
CScrollBar::GetScrollLimit
스크롤 막대의 최대 스크롤 위치를 검색합니다.
int GetScrollLimit();
Return Value
성공하면 스크롤 막대의 최대 위치를 지정합니다. 그렇지 않으면 0입니다.
예시
CWnd::OnHScroll
에 대한 예를 참조하세요.
CScrollBar::GetScrollPos
스크롤 상자의 현재 위치를 검색합니다.
int GetScrollPos() const;
Return Value
성공하면 스크롤 상자의 현재 위치를 지정합니다. 그렇지 않으면 0입니다.
설명
현재 위치는 현재 스크롤 범위에 따라 달라지는 상대 값입니다. 예를 들어 스크롤 범위가 100에서 200이고 스크롤 상자가 막대 중간에 있는 경우 현재 위치는 150입니다.
예시
CWnd::OnHScroll
에 대한 예를 참조하세요.
CScrollBar::GetScrollRange
지정된 스크롤 막대의 현재 최소 및 최대 스크롤 막대 위치를 지정한 위치 및 lpMaxPos
.에 복사 lpMinPos
합니다.
void GetScrollRange(
LPINT lpMinPos,
LPINT lpMaxPos) const;
매개 변수
lpMinPos
최소 위치를 받을 정수 변수를 가리킵니다.
lpMaxPos
최대 위치를 받을 정수 변수를 가리킵니다.
설명
스크롤 막대 컨트롤의 기본 범위는 비어 있습니다(두 값 모두 0).
예시
CWnd::OnHScroll
에 대한 예를 참조하세요.
CScrollBar::SetScrollInfo
구조체에서 스크롤 막대에 SCROLLINFO
대해 유지 관리하는 정보를 설정합니다.
BOOL SetScrollInfo(
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
매개 변수
lpScrollInfo
구조체에 대한 포인터입니다 SCROLLINFO
.
bRedraw
새 정보를 반영하도록 스크롤 막대를 다시 그릴지 여부를 지정합니다. 이 TRUE
경우 bRedraw
스크롤 막대가 다시 그려집니다. FALSE
이 경우 다시 그려지지 않습니다. 스크롤 막대는 기본적으로 다시 그려집니다.
Return Value
성공하면 반환은 .입니다 TRUE
. 아니면 FALSE
입니다.
설명
플래그 값을 포함하여 구조 매개 변수에 SCROLLINFO
필요한 값을 제공해야 합니다.
구조체에는 SCROLLINFO
최소 및 최대 스크롤 위치, 페이지 크기 및 스크롤 상자의 위치(엄지 손가락)를 포함하여 스크롤 막대에 대한 정보가 포함됩니다. SCROLLINFO
구조 기본값 변경에 대한 자세한 내용은 Windows SDK의 구조 항목을 참조하세요.
예시
// Set SCROLLINFO for the scroll bar. m_ScrollBarHorz is of type
// CScrollBar class, and it is a member variable in CMyDialog class.
SCROLLINFO info;
info.cbSize = sizeof(SCROLLINFO);
info.fMask = SIF_ALL;
info.nMin = 0;
info.nMax = 10;
info.nPage = 2;
info.nPos = 5;
info.nTrackPos = 2;
m_ScrollBarHorz.SetScrollInfo(&info);
CScrollBar::SetScrollPos
스크롤 상자의 현재 위치를 지정 nPos
한 위치로 설정하고, 지정한 경우 스크롤 막대를 다시 그려 새 위치를 반영합니다.
int SetScrollPos(
int nPos,
BOOL bRedraw = TRUE);
매개 변수
nPos
스크롤 상자의 새 위치를 지정합니다. 스크롤 범위 내에 있어야 합니다.
bRedraw
새 위치를 반영하도록 스크롤 막대를 다시 그릴지 여부를 지정합니다. 이 TRUE
경우 bRedraw
스크롤 막대가 다시 그려집니다. FALSE
이 경우 다시 그려지지 않습니다. 스크롤 막대는 기본적으로 다시 그려집니다.
Return Value
성공하면 스크롤 상자의 이전 위치를 지정합니다. 그렇지 않으면 0입니다.
설명
FALSE
스크롤 막대가 짧은 간격 내에 두 번 다시 그려지는 것을 방지하기 위해 다른 함수에 대한 후속 호출에 의해 스크롤 막대가 다시 그려질 때마다 설정 bRedraw
됩니다.
예시
CScrollBar::SetScrollRange에 대한 예제를 참조하세요.
CScrollBar::SetScrollRange
지정된 스크롤 막대에 대한 최소 및 최대 위치 값을 설정합니다.
void SetScrollRange(
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
매개 변수
nMinPos
최소 스크롤 위치를 지정합니다.
nMaxPos
최대 스크롤 위치를 지정합니다.
bRedraw
변경 내용을 반영하도록 스크롤 막대를 다시 그릴지 여부를 지정합니다. 이 TRUE
경우 bRedraw
스크롤 막대가 다시 그려집니다. 이 경우 FALSE
다시 그려지지 않습니다. 기본적으로 다시 그려지게 됩니다.
설명
nMaxPos
표준 스크롤 막대를 숨기려면 0으로 설정합니다nMinPos
.
스크롤 막대 알림 메시지를 처리하는 동안 스크롤 막대를 숨기려면 이 함수를 호출하지 마세요.
호출이 멤버 함수에 SetScrollRange
대한 호출 SetScrollPos
바로 뒤에 오면 스크롤 막대가 두 번 다시 그려지는 것을 방지하기 위해 0으로 설정합니다 bRedraw
SetScrollPos
.
지정 nMinPos
한 값과 nMaxPos
32,767보다 크면 안 되는 값의 차이입니다. 스크롤 막대 컨트롤의 기본 범위는 비어 있습니다nMaxPos
(둘 다 nMinPos
0임).
예시
// Sets minimum (0) and maximum (10) position values for the
// CScrollBar control. m_ScrollBarVert is of type CScrollBar class,
// and it is a member variable in CMyDialog class.
m_ScrollBarVert.SetScrollRange(0, 10);
// Set the position of the scroll box.
m_ScrollBarVert.SetScrollPos(5);
// Disable the down arrow of the scroll bar. By default, both arrows
// are enabled.
m_ScrollBarVert.EnableScrollBar(ESB_DISABLE_DOWN);
CScrollBar::ShowScrollBar
스크롤 막대를 표시하거나 숨깁니다.
void ShowScrollBar(BOOL bShow = TRUE);
매개 변수
bShow
스크롤 막대가 표시되거나 숨겨지는지 여부를 지정합니다. 이 매개 변수인 TRUE
경우 스크롤 막대가 표시되고, 그렇지 않으면 숨겨집니다.
설명
애플리케이션은 스크롤 막대 알림 메시지를 처리하는 동안 스크롤 막대를 숨기기 위해 이 함수를 호출해서는 안 됩니다.
예시
CScrollBar::Create
에 대한 예를 참조하세요.
참고 항목
CWnd
수업
계층 구조 차트
CButton
수업
CComboBox
수업
CEdit
수업
CListBox
수업
CStatic
수업
CDialog
수업