CScrollView

Класс CScrollView является CView с прокрутки возможности.

Можно обработать стандартных прокрутки себя в любом классе, производном от CView путем переопределения сопоставленные сообщения OnHScroll и OnVScroll функций-членов. Но CScrollView добавляет следующие возможности для его возможностей CView:

Можно обработать мыши колесо прокрутки себя путем переопределения сопоставленные сообщения OnMouseWheel и OnRegisteredMouseWheel функции-члены. Поскольку они предназначены для CScrollView, эти функции-члены поддерживают рекомендуемые поведение для WM_MOUSEWHEEL, сообщение вращение колеса.

Воспользоваться автоматической прокрутки, Ваше мнение класс, производный от CScrollView , а не от CView. При представлении, если вы хотите вычислить размер прокручиваемой представления, основанного на размер документа, вызовите функцию-член SetScrollSizes из переопределение CView::OnInitialUpdate или CView::OnUpdate. (Необходимо написать собственный код для запроса размера документа. В качестве примера, см. Расширение представлений в Visual C++ учебники.)

Вызов функции-члена SetScrollSizes устанавливает режим отображения, общее размеры прокрутки мнение и сумм для прокрутки по горизонтали и вертикали. Все размеры указаны в логических единицах. Логический размер представления обычно рассчитывается на основе данных, хранящихся в документе, но в некоторых случаях может потребоваться указать фиксированный размер. Примеры обоих подходов см. в CScrollView::SetScrollSizes.

Укажите суммы для прокрутки по горизонтали и вертикали в логических единицах. По умолчанию если пользователь щелкает вал панель прокрутки вне ползунка, CScrollView прокручивает "страница". Если пользователь щелкнет стрелку прокрутки на любом конце полосы прокрутки, CScrollView прокручивает "линия". По умолчанию страница составляет 1/10 от общего размера представления; линия составляет 1/10 размера страницы. Переопределите эти значения по умолчанию, передав пользовательские размеры в функции-члена SetScrollSizes . Например можно задать горизонтальный размер некоторых доле ширины общий размер и размер по вертикали на высоту строки в текущем шрифте.

Вместо того, чтобы прокрутки, CScrollView можно автоматически масштабировать мнение к текущий размер окна. В этом режиме мнение имеет не полосы прокрутки и логическое представление растягивается или сжат именно под клиентской области окна. Для использования этой возможности масштаба fit, вызовите CScrollView::SetScaleToFitSize. (Вызов или SetScaleToFitSize , или SetScrollSizes, но не оба).

Перед OnDraw вызывается функция-член класса производного view, CScrollView автоматически настраивает viewport происхождения для объекта контекста устройства CPaintDC , который передаетсяOnDraw.

Для настройки области просмотра происхождения для прокрутки окна, CScrollView переопределяет CView::OnPrepareDC. Эта корректировка автоматическим для контекста устройства CPaintDC , который передает CScrollView OnDraw , но необходимо вызвать CScrollView::OnPrepareDC себя за любые другие контексты устройств, используется, например, CClientDC. Можно переопределить CScrollView::OnPrepareDC чтобы установить перо, цвет фона и другие атрибуты рисования, но вызывают базовый класс для масштабирования.

Полосы прокрутки могут отображаться в трех местах отношению к представлению, как показано в следующих случаях:

Для получения дополнительных сведений об использовании CScrollView, см. Архитектуры документ/представление темы и Производных классов представлений в Руководстве Visual C++ программист.

# include lt;afxwin.h>

Члены классаБазовый класс | Иерархическая схема

Пример  Образца DIBLOOK MFC

См. также CView, CSplitterWnd

Index