다음을 통해 공유


CScrollView::SetScrollSizes

호출 SetScrollSizes 보기 시기에 대 한 업데이트입니다.

void SetScrollSizes(
   int nMapMode,
   SIZE sizeTotal,
   const SIZE& sizePage = sizeDefault,
   const SIZE& sizeLine = sizeDefault 
);

매개 변수

  • nMapMode
    이 보기를 설정 하려면 매핑 모드입니다.가능한 값은 다음과 같습니다.

    매핑 모드

    논리 단위

    Y 축의 양수 확장...

    MM_TEXT

    1 픽셀

    아래쪽

    MM_HIMETRIC

    0.01 m m

    위쪽으로

    MM_TWIPS

    1/1440에

    위쪽으로

    MM_HIENGLISH

    0.001에서

    위쪽으로

    MM_LOMETRIC

    0.1 m m

    위쪽으로

    MM_LOENGLISH

    0.01에서

    위쪽으로

    이러한 모드의 모든 Windows에 의해 정의 됩니다.두 가지 표준 매핑 모드 MM_ISOTROPICMM_ANISOTROPIC, 사용 되지 않으면 CScrollView.클래스 라이브러리에서 제공 된 SetScaleToFitSize 보기 창 크기 조정에 대 한 멤버 함수.위의 표에 열 세 좌표 방향에 설명합니다.

  • sizeTotal
    스크롤 보기의 전체 크기입니다.Cx 구성원 가로 익스텐트를 포함 합니다.Cy 구성원 세로 범위를 포함 합니다.크기를 논리 단위로 있습니다.둘 다 cxcy 보다 크거나 0 이어야 합니다.

  • sizePage
    각 방향에 따라 마우스를 스크롤할 수 있는 가로 및 세로 거리 샤프트에 스크롤 막대를 클릭 합니다.Cx 구성원 가로 크기를 포함 합니다.Cy 구성원 세로 크기를 포함 합니다.

  • sizeLine
    각 방향에 따라 마우스를 스크롤할 수 있는 가로 및 세로 거리 스크롤 화살표를 클릭 합니다.Cx 구성원 가로 크기를 포함 합니다.Cy 구성원 세로 크기를 포함 합니다.

설명

사용자 재정의 된 호출을 OnUpdate 멤버 함수 크기가 변경 될 때 또는 예를 들어, 문서의 처음에 표시 되 면 스크롤 특성을 조정 합니다.

일반적으로 크기 정보 보기의 관련된 문서에서 아마도 라는 문서 멤버 함수를 호출 하 여 가져올 수 GetMyDocSize에서 파생 된 문서 클래스를 제공 합니다.이 방법은 다음 코드를 보여 줍니다.

CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
SetScrollSizes(nMapMode, pMyDoc->GetMyDocSize());

또는 다음 코드와 같이 고정 된 크기를 설정 하는 경우가 있습니다.

SetScrollSizes(nMapMode, CSize(100, 100));

매핑 모드를 제외한 Windows 매핑 모드 중 하나를 설정 해야 MM_ISOTROPIC 또는 MM_ANISOTROPIC.무제한 매핑 모드를 사용 하려면 호출을 SetScaleToFitSize 멤버 함수 대신 SetScrollSizes.

예제

void CMyScrollView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, 
   CObject* /*pHint*/)
{
   // Implement a GetMyDocSize() member function in 
   // your document class; it returns a CSize.
   CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
   SetScrollSizes(MM_LOENGLISH, pMyDoc->GetMyDocSize());
   ResizeParentToFit();   // Default bShrinkOnly argument
}
void CMyScrollView::OnInitialUpdate()
{
   CScrollView::OnInitialUpdate();

   // The GetMyDocSize() member function is implemented in 
   // your document class. The return type is CSize.
   CMyScrollDoc* pMyDoc = (CMyScrollDoc*)GetDocument();
   SetScrollSizes(MM_TEXT, pMyDoc->GetMyDocSize());
}

요구 사항

헤더: afxwin.h

참고 항목

참조

CScrollView 클래스

계층 구조 차트

CScrollView::SetScaleToFitSize

CScrollView::GetDeviceScrollSizes

CScrollView::GetTotalSize