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::SetScaleToFitSize