Поделиться через


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 минут

    Вверх

    MM_TWIPS

    в 1/1440

    Вверх

    MM_HIENGLISH

    0,001

    Вверх

    MM_LOMETRIC

    0,1 минут

    Вверх

    MM_LOENGLISH

    0,01

    Вверх

    Все эти режимы определяются Windows. 2 Стандартных режима сопоставления MM_ISOTROPIC и MM_ANISOTROPIC, не используются для CScrollView. Библиотека классов предоставляет функции-члена SetScaleToFitSize для масштабирования представление размера окна. Column 3 в таблице выше описывает ориентацию координат.

  • sizeTotal
    Общий размер представления прокрутки. Элемент cx содержит горизонтальную экстент. Элемент cy содержит вертикальную экстент. Размеры в логических единицах. И cx и cy должно быть больше или равно 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());
}

Требования

Header: afxwin.h

См. также

Ссылки

Класс CScrollView

Диаграмма иерархии

CScrollView::SetScaleToFitSize

CScrollView::GetDeviceScrollSizes

CScrollView::GetTotalSize