
CScrollView 클래스는 CView 스크롤 기능。
표준 스크롤 자신 메시지 매핑된 OnHScroll 및 OnVScroll 멤버 함수를 재정의 하 여 CView 에서 파생 된 모든 클래스에서 처리할 수 있습니다. CScrollView CView 기능에 다음과 같은 기능을 추가 하지만:
마우스 휠 메시지 매핑된 OnMouseWheel 및 OnRegisteredMouseWheel 멤버 함수를 재정의 하 여 자신을 스크롤을 처리할 수 있습니다. 이러한 멤버 함수에 대 한 권장된 행동 지원 CScrollView위해 그들은, WM_MOUSEWHEEL, 바퀴 회전 메시지。
자동 스크롤을 이용 하려면 CView에서 대신 CScrollView 에서 뷰 클래스를 파생 합니다. 보기를 처음 만들어질 때, 문서의 크기에 따라 스크롤할 수 보기의 크기를 계산 하려면 CView::OnInitialUpdate 또는 CView::OnUpdate의 재정의에서 SetScrollSizes 멤버 함수를 호출 합니다. (문서의 크기를 쿼리 하는 코드를 직접 작성 해야 합니다. 예를 들어, 참조 보기 향상 Visual c + + 자습서에서.)
보기의 매핑 모드, 스크롤 보기 및 가로 및 세로로 스크롤하려면 금액의 총 크기를 설정 하는 SetScrollSizes 멤버 함수를 호출 합니다. 모든 크기는 논리적 단위입니다. 보기의 논리적 크기는 일반적으로 문서에 저장 된 데이터 로부터 계산 하지만 어떤 경우에 당신이 고정 된 크기를 지정 할 수 있습니다. 두 가지 접근법의 예 다음 웹 사이트를 참조 하십시오. CScrollView::SetScrollSizes。
논리 단위에서 가로 및 세로로 스크롤 양을 지정 합니다. 기본적으로 외부의 스크롤 상자 스크롤 막대 샤프트를 클릭할 경우 CScrollView 스크롤 "페이지." 스크롤 막대의 양쪽 끝에 있는 스크롤 화살표를 클릭 하는 경우 CScrollView 스크롤 "선." 하는 기본적으로 페이지는 보기; 총 크기의 1/10 한 페이지 크기의 1/10입니다. 사용자 정의 크기 SetScrollSizes 멤버 함수에 전달 하 여이 기본값을 재정의 합니다. 예를 들어, 설정할 수 있습니다 가로 크기의 총 크기와 수직 크기 줄의 높이를 너비의 일부 분수를 현재 글꼴에。
스크롤 하는 대신 CScrollView 에 보기 현재 창 크기를 자동으로 조정할 수 있습니다. 이 모드에서 보기에 스크롤 막대가 없습니다 및 논리 보기 늘어나거나 창의 클라이언트 영역에 정확히 맞게 축소 합니다. 이 규모에 맞게 기능을 사용 하려면 CScrollView::SetScaleToFitSize를 호출 합니다. ( SetScaleToFitSize 또는 SetScrollSizes, 하지만 둘 다를 호출 합니다.)
전에 OnDraw 파생된 뷰 클래스의 멤버 함수를 호출, CScrollView 자동 전달 CPaintDC 장치 컨텍스트 개체에 대 한 뷰포트 원점 조정OnDraw。
CScrollView 스크롤 창의 뷰포트 원점을 조정 하려면 CView::OnPrepareDC를 재정의 합니다. 이 조정은 CScrollView 전달 CPaintDC 장치 컨텍스트에 대 한 자동 OnDraw , 하지만 호출 해야 합니다 CScrollView::OnPrepareDC 자신 CClientDC와 같이 사용 다른 장치 컨텍스트에 대 한. CScrollView::OnPrepareDC 펜, 배경 색상 및 다른 그리기 특성 설정 하지만 스케일링 할 기본 클래스 호출을 무시할 수 있습니다.
다음과 같은 경우에 표시 된 것과 같이 스크롤 막대 보기를 기준으로 세 곳에 나타날 수 있습니다.:
CScrollView를 사용 하 여 자세한 내용은 참조 문서/뷰 아키텍처 주제 및 Visual c + + 프로그래머 가이드 에서 파생 뷰 클래스。
# include lt;afxwin.h>
클래스 멤버 |nbsp; 기본 클래스 (ko) | 계층 구조 차트(&N)
샘플nbsp; MFC 샘플 DIBLOOK(&N)
참고 항목nbsp;CView, CSplitterWnd(&N)