Defila caseta poziția și defilare interval

Pozi?ia casetei de defilare este reprezentat ca un întreg; este relativ la sfârșitul stânga sau superioară a barei de defilare, funcție dacă bara de defilare orizontală sau verticală. Poziția trebuie să fie valorile minime ?i maxime din zona de defilare. De exemplu, o bară de defilare cu o gamă de 0 la 100, pozi?ia 50 de la mijloc, cu pozițiile rămase distribuite egal de-a lungul barei de defilare. Zona inițiale depinde de bara de defilare. Barele de defilare standard au o gamă inițială de 0 la 100; controalele barei de derulare au o zonă goală (valorile minime ?i maxime sunt zero), dacă nu furnizați o zonă explicit atunci când controlul este creat. Aveți posibilitatea să modificați intervalul în orice moment. Aveți posibilitatea să utilizați funcția SetScrollInfo pentru a seta valorile gamă, și funcția de GetScrollInfo să regăsească valorile gama actuală.

O cerere de obicei ajustează gama defilare la convenabil întregi, face mai ușor pentru a traduce în pozi?ia de caseta de defilare într-o valoare corespunzătoare unui obiect de date pentru a fi defilat. De exemplu, dacă o cerere trebuie afișează liniile 260 de un fișier text într-o fereastră care afișează numai 16 de linii într-un moment, zona de bara de defilare verticală poate fie setat la 1 prin 244. Dacă caseta de defilare este la pozi?ia 1, prima linie va fi la partea de sus a ferestrei. Dacă caseta de defilare este la pozi?ia 244, ultima linie (line 260) va fi la partea de jos a ferestrei. Dacă o aplicație încearcă să specificați o valoare de poziție, care este mai mic decât minimul sau mai mult decât maxim, minim sau maxim defilare Interval valoarea este utilizată în schimb.

Aveți posibilitatea să setați o dimensiune de pagină pentru o bară de defilare. Dimensiunea paginii reprezintă numărul de unită?i de date care poate să încapă în zona client din fereastra de proprietarul având în vedere dimensiunea curentă. De exemplu, dacă zona de client poate deține 16 de linii de text, o cerere ar stabili dimensiunea paginii la 16. Sistemul utilizează dimensiunea paginii, împreună cu defilare gama și durata arborele de defilare, pentru a seta dimensiunea de caseta de defilare. Ori de câte ori este redimensionat o fereastră care conține o bară de defilare, cererea trebuie să apela funcția SetScrollInfo pentru a seta dimensiunea paginii. O cerere poate prelua dimensiunea paginii curente sunând la funcția GetScrollInfo trimiterea.

Pentru a stabili o relație util între zona de bara de defilare și obiectul de date, o aplicație trebuie să ajustați intervalul ori de câte ori dimensiunea datelor obiect modificări.

Ca utilizator se mută caseta de defilare în o bară de defilare, bara de defilare rapoarte caseta de defilare poziția ca un întreg în zona de defilare. Dacă este valoarea minimă, caseta de defilare este în partea de sus al barei de defilare verticală sau la capătul din stânga al barei de defilare orizontală. Dacă este valoarea maximă, caseta de defilare este la partea de jos a barei de defilare verticale sau de capătul dreapta al barei de defilare orizontale.

Valoarea maximă pe care o bară de defilare poate raport (care este, maximă scrolling poziția) depinde de dimensiunea paginii. Dacă bara de defilare are o dimensiune de pagină mai mare decât 1, defilare pozi?ia maximă este mai mică decât valoarea maximă. Utilizați formula următoare pentru a calcula maximă scrolling poziția:

MaxScrollPos = MaxRangeValue-(PageSize - 1) 

 

Cererea trebuie să mutați caseta de defilare în o bară de defilare. Deși utilizator face o cerere pentru defilarea într-o bară de defilare, bara de defilare nu actualiza automat în pozi?ia de caseta de defilare. În schimb, trece cererea la fereastra părinte, care trebuie să derulați datele și actualiza poziția caseta de defilare. O cerere utilizează funcția SetScrollInfo pentru a actualiza poziția caseta de defilare; în caz contrar, se utilizează funcția SetScrollPos . Pentru că ea controlează mișcarea de caseta de defilare, aplicarea deplasați caseta de defilare în incremente că locul de muncă mai bune pentru datele fiind defilat.

Index