Клас 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
називається функція-член вашої похідні подання класу, CScrollView автоматично налаштовує проекції походження для CPaintDC пристрій контексті об'єкт, який вона проходить доOnDraw
.
Щоб налаштувати проекції походження для прокрутки вікна, CScrollView має перевагу над CView::OnPrepareDC. Це налаштування є автоматичним для контексту CPaintDC пристрій, що передає CScrollView OnDraw
, але ви повинні викликати CScrollView::OnPrepareDC себе за будь-яких інших контекстах пристрій використовується, наприклад, CClientDC. Ви можете змінити CScrollView::OnPrepareDC , щоб встановити пера, колір тла та інші графічні атрибути, але називати базовий клас для масштабування.
Смуги прокручування можуть відображатися в трьох місцях по відношенню до подання, як показано у таких випадках:
Щоб отримати додаткові відомості про використання CScrollView, перегляньте Перегляду документа/архітектура теми і Отримані подання класи в Visual C++ програміста керівництво.
# включити lt;afxwin.h>
|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма
Зразок MFC зразок DIBLOOK
Дивіться також CView, CSplitterWnd