клас cscrollview

Самостійно обробляти стандартний прокрутку в будь-якому класі, похідному від CView шляхом перевизначення повідомлення-функції-члени OnHScroll і зіставлені OnVScroll. Але CScrollView додає наступні функції до його можливостей CView.

Воно автоматично переміщається в відповідь на повідомлення смуги прокрутки.

Воно автоматично переміщається в відповідь на повідомлення від клавіатури, відмінних від прокрутки або коліщатка миші, IntelliMouse.

Автоматична прокрутка у відповідь на повідомлення від клавіатури, додати повідомлення WM_KEYDOWN і тест для VK_DOWN, VK_PREV і виклику SetScrollPos.

Самостійно обробляти прокручування коліщатка миші шляхом перевизначення повідомлення-функції-члени OnMouseWheel і зіставлені OnRegisteredMouseWheel. У міру того, як вони підтримують такі функції-члени для CScrollView. пропонована розширення функціональності для WM_MOUSEWHEEL повідомлення повороту коліщатка.

Щоб скористатися перевагами автоматичної прокрутки, візьміть у спадщину клас від CScrollView уявлення, а не з CView. Якщо уявлення спочатку створено, якщо потрібно обчислити розмір прокручуваному уявлення, грунтуючись на розмір документа, викличте функцію-член SetScrollSizes з перевизначення або CView :: OnInitialUpdate або CView :: OnUpdate. (Необхідно написати власний код для запиту розмір документа. Приклад см. В розділі Зразок Scribble).

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

Вказати число для прокрутки по горизонталі і вертикалі в логічних одиницях. За замовчуванням якщо користувач клацає base "смуга прокрутки" поза повзунка смуги прокрутки, CScrollView прокручує "сторінка". Якщо користувач натискає кнопку прокрутки на будь-якому елементі смуги прокрутки, CScrollView прокручує "лінія". За замовчуванням сторінка 1/10 з повного розміру подання; лінія 1/10 з розміру сторінки. Перевизначите ці значення за замовчуванням, передавши призначені для користувача розміри в функції-члені SetScrollSizes. Наприклад, можна встановити розмір по горизонталі в деякій частині повного розміру, ширини розміру і вертикальної лінії в поточному висоті шрифту.

Замість прокрутки, CScrollView може автоматично масштабування уявлення з поточним розміром вікна. В цьому режимі подання не містить смуги прокрутки і логічне уявлення розтягнуто або стисло пристосування до отримання для клієнтської області вікна. Використовувати цю можливість шкала-до- відповідності, виклик CScrollView :: SetScaleToFitSize. (Або SetScaleToFitSize або викличте SetScrollSizes. Але не обидва).

Смуги прокрутки можуть з'являтися в 3 розміщення по відношенню до подання, як показано в наступних випадках:

Стандартні смуги прокрутки вікно- стилю можна задати для представлення за допомогою WS_HSCROLL і WS_VSCROLL стилі Windows.

Схожі статті