Clasa cscrollview

mâner independent defilare standard, în orice clasă derivată din CView prin suprascrierea functii membru OnHScroll si cartografiat Message OnVScroll. Dar CScrollView adaugă următoarele funcții capabilităților CView.







Se mișcă automat ca răspuns la mesajele din bara de derulare.

Se mișcă automat ca răspuns la mesaje de la tastatură, altele decât derularea sau rotița mouse-ului IntelliMouse.

Derulare automată ca răspuns la mesajele de la tastatură, se adaugă mesajul WM_KEYDOWN și testul pentru VK_DOWN, VK_PREV și SetScrollPos apel.

mâner independent defilare roata mouse-ului prin suprascrierea funcții membre OnMouseWheel și cartografiat Message OnRegisteredMouseWheel. În timp ce sprijină astfel de funcții membre pentru CScrollView. extensia de funcționalitate propusă pentru mesajul WM_MOUSEWHEEL este rotirea roții.

Pentru a profita de derularea automată, moșteniți clasa din vizualizarea CScrollView, nu din CView. În cazul în care o vizualizare este creat pentru prima dată, dacă doriți să calculeze dimensiunea punctelor de vedere scrollable, în funcție de dimensiunea documentului, numesc SetScrollSizes funcția membru prioritari sau CView :: OnInitialUpdate sau CView :: OnUpdate. (Trebuie să scrieți propriul cod pentru a solicita dimensiunea documentului. De exemplu, consultați Scribble Sample).







Apelul la funcția membră SetScrollSizes stabilește modul de mapare a vizualizării întregii vizualizări a ecranului de defilare și suma care urmează să fie derulată orizontal și vertical. Toate dimensiunile sunt în unități logice. Dimensiunea logică a unei vizualizări este de obicei calculată pe baza datelor stocate în document, însă în unele cazuri poate fi necesar să se precizeze o dimensiune fixă. Pentru exemple de ambele abordări, consultați CScrollView :: SetScrollSizes.

Specificați un număr pentru derularea orizontală și verticală în unitățile logice. În mod implicit, dacă utilizatorul dă clic pe bara de defilare de bază în afara cursorului barei de derulare, CScrollView derulează pagina. Dacă utilizatorul apasă butonul de defilare de pe orice element de derulare, CScrollView derulează "linia". Pagina prestabilită este de 1/10 din vizualizarea de dimensiune completă; linia 1/10 a dimensiunii paginii. Împingeți aceste valori prestabilite prin trecerea dimensiunilor personalizate în funcția de membru SetScrollSizes. De exemplu, puteți seta dimensiunea orizontală în anumite părți ale mărimii, lățimii și liniei verticale, în înălțimea curentă a fontului.

În loc de defilare, CScrollView poate scala automat vizualizarea cu dimensiunea curentă a ferestrei. În acest mod, vizualizarea nu conține o bară de defilare, iar reprezentarea logică este întinsă sau comprimată de dispozitivul pe care îl primește pentru zona clientului ferestrei. Utilizați această caracteristică scalare-potrivire, sunați CScrollView :: SetScaleToFitSize. (Sau SetScaleToFitSize sau sunați SetScrollSizes, dar nu ambele).

Barele de derulare pot apărea în trei planuri relative la vizualizare, după cum se arată în următoarele cazuri:

Barele de defilare standard ale ferestrei de stil pot fi setate pentru a reprezenta stilurile Windows cu WS_HSCROLL și WS_VSCROLL.







Articole similare

Trimiteți-le prietenilor: