Defilare zona Client

Cel mai simplu mod pentru a defila con?inutul de o zonă de client este de a șterge și apoi aspira it. Aceasta este metoda o cerere este probabil să utilizeze cu SB_PAGEUP, SB_PAGEDOWN și SB_TOP mesajele de notificare, care necesita de obicei complet nou conținut.

Pentru unele mesaje de notificare, cum ar fi SB_LINEUP și SB_LINEDOWN, trebuie șterse nu toate conținut, deoarece unele rămâne vizibilă după defilare apare. Funcția ScrollWindowEx păstrează o parte din zona de client conținutul, muta porțiunea conservate o anumită sumă, și apoi se pregătește restul din zona de client pentru pictura informații noi. Utilizează ScrollWindowEx BitBlt funcție pentru a muta o anumită parte a obiectul de date într-o locație nouă în zona de client. Se invalidează orice parte descoperite din zona de client (nimic nu păstrează), șterse, și atunci când pictate următoare WM_PAINT mesaj apare.

Funcția de ScrollWindowEx pot fi folosite pentru a exclude o parte din zona de client din opera?ia de defilare. Acest lucru ține elemente cu pozi?ii fixe, cum ar fi windows copil, la care se deplasează în zona de client. Se invalidează automat porțiunea din zona de client care este de a primi informații noi, astfel încât aplicarea nu pentru a calcula regiunile sale proprii de tăiere. Pentru mai multe informații despre tăiere, consultați tăiere.

De obicei o cerere defilează con?inutul o fereastră în direcția opusă indicată de bara de defilare. De exemplu, atunci când utilizatorul face clic pe arborele în zona de sub caseta de defilare, cererea defilează obiectului din fereastra în sus pentru a dezvălui o parte din obiectul care este mai jos porțiunea vizibilă.

Aveți posibilitatea să defilați, de asemenea, o regiune dreptunghiulară utilizând funcția ScrollDC.