Cererile de bara de defilare

Utilizatorul face cereri defilare făcând clic pe diferite părți ale o bară de defilare. Sistemul trimite cererea la fereastra dat sub formă de un mesaj WM_HSCROLL sau WM_VSCROLL . O bară de defilare orizontală trimite mesajul WM_HSCROLL; o bară de defilare verticală trimite mesajul WM_VSCROLL. Fiecare mesaj include un cod de notificare care corespunde acțiune utilizatorului, cu mâner la scroll bar (scroll bar controale numai), și, în unele cazuri, la poziția de caseta de defilare.

Figura următoare afișează mesajele de notificare utilizatorul generează când făcând clic pe diferite părți ale o bară de defilare.

Codurile de notificare bara de defilare specifică acțiunea utilizatorului ia. O cerere analizează codurile care însoțesc mesajele WM_HSCROLL și WM_VSCROLL și apoi efectuează operația defilare corespunzătoare. În tabelul următor din mesajele de notificare, acțiune utilizatorului este specificată pentru fiecare mesaj, urmat de răspuns aplicației. În fiecare caz, o unitate este definit de aplicare corespunzătoare pentru date. De exemplu, unitatea de măsură tipic pentru scrolling text vertical este o linie de text.

Notificarea
mesaj

Acțiune

Răspuns
SB_LINEUP Utilizatorul face clic pe săgeata de defilare de sus. Decrements caseta de defilare poziția; defilează spre partea de sus a datelor de către o unitate.
SB_LINEDOWN Utilizatorul face clic pe săgeata de defilare de jos. Incrementează pozi?ia caseta de defilare; defilează spre partea de jos a datelor de către o unitate.
SB_LINELEFT Utilizatorul face clic pe săgeata de defilare stânga. Decrements caseta de defilare poziția; defilează spre sfârșitul stânga datelor de către o unitate.
SB_LINERIGHT Utilizatorul face clic pe săgeata de defilare dreapta. Incrementează pozi?ia caseta de defilare; defilează spre capătul din dreapta a datelor de către o unitate.
SB_PAGEUP Utilizatorul face clic pe arborele de bara de defilare deasupra casetei de defilare. Decrements caseta de defilare poziția cu numărul de unități de date în fereastra; defilează spre partea de sus a datelor de către același număr de unități.
SB_PAGEDOWN Utilizatorul face clic pe arborele de bara de defilare, sub caseta de defilare. Incrementează pozi?ia caseta de defilare prin numărul de unită?i de date în fereastra; defilează spre partea de jos a datelor de către același număr de unități.
SB_PAGELEFT Utilizatorul face clic pe arborele de bara de defilare în partea stângă a casetei de defilare. Decrements caseta de defilare poziția cu numărul de unități de date în fereastra; defilează spre sfârșitul stânga datelor de către același număr de unități.
SB_PAGERIGHT Utilizatorul face clic pe arborele de bara de defilare în partea dreaptă a casetei de defilare. Incrementează pozi?ia caseta de defilare prin numărul de unită?i de date în fereastra; defilează spre capătul din dreapta a datelor de către același număr de unități.
SB_THUMBPOSITION Utilizatorul comunicate caseta de defilare după glisându-l. Setează caseta de defilare în poziția în mesajul; defilează datelor de către același număr de unită?i a mutat caseta de defilare.
SB_THUMBTRACK Utilizatorul trage caseta de defilare. Setează caseta de defilare la pozi?ia în mesajul și defilează datelor de către același număr de unită?i caseta de defilare a mutat pentru aplicații care atrage date rapid. Aplica?ii care nu poate desena rapid date trebuie să aștepte pentru mesaj de SB_THUMBPOSITION înainte de mutarea caseta de defilare și defilarea datele.
SB_ENDSCROLL Utilizatorul comunicate mouse-ul după exploatație pe o săgeată sau în arborele de bara de defilare. Este nevoie de nici un răspuns.

O bară de defilare generează mesaje de notificare SB_THUMBPOSITION și SB_THUMBTRACK atunci când utilizatorul face clic și trage caseta de defilare. Cererea trebuie să fi programat să proceseze mesajul de notificare SB_THUMBPOSITION sau SB_THUMBTRACK.

SB_THUMBPOSITION notificare mesaj apare atunci când utilizatorul eliberează butonul mouse-ului după ce faceți clic pe caseta de defilare. O cerere care procesează acest mesaj efectuează operația defilare după ce utilizatorul a târât caseta de defilare în poziția dorită și eliberat butonul mouse-ului.

SB_THUMBTRACK notificare mesaje apar ca utilizatorul trage caseta de defilare. În cazul în care o cerere procese SB_THUMBTRACK mesaje, o puteți defila o fereastra ca utilizatorul trage caseta de defilare. Cu toate acestea, o bară de defilare poate genera mai multe mesaje de notificare SB_THUMBTRACK într-o perioadă scurtă, astfel încât o cerere trebuie să prelucreze aceste mesaje numai în cazul în care acesta poate repaint rapid conținutul din fereastra.

Index