Rulling klientområdet

Den enkleste måten å rulle innholdet i en klient-området på, er å slette og deretter tegne det. Dette er metoden som er et program som er sikkert å bruk med SB_PAGEUP, SB_PAGEDOWN og SB_TOP varselmeldinger, som vanligvis krever helt nytt innhold.

For enkelte varselmeldinger, for eksempel SB_LINEUP og SB_LINEDOWN, må ikke alt innholdet bli slettet, fordi noen forblir synlig etter at rulling oppstår. Funksjonen ScrollWindowEx bevarer en del av klienten områdets innhold, flytte den bevarte delen et angitt beløp, og deretter forbereder resten av klientområdet for maleri ny informasjon. ScrollWindowEx bruker de BitBlt funksjonen du vil flytte en bestemt del av dataobjektet til en ny plassering i klientområdet. Noen avdekket del av klientområdet (noe ikke bevart) ugyldiggjøres, slettet, og malte når neste WM_PAINT -feilmelding.

Funksjonen ScrollWindowEx kan brukes til å ekskludere en del av klientområdet fra rullende operasjonen. Dette hindrer at elementer med fast stillinger, for eksempel underordnede vinduer, flytte i klientområdet. Den opphever automatisk delen av klientområdet som skal motta den nye informasjonen, slik at programmet ikke har til å beregne sin egen klipping regioner. Hvis du vil ha mer informasjon om beskjæring, se klipping.

Vanligvis et program ruller innholdet i et vindu i motsatt retning som indikert av rullefeltet. For eksempel når brukeren klikker akslingen i området under rulleboksen, ruller et program objektet i vinduet oppover for å vise en del av hvilket objekt som er under den synlige delen.

Du kan også rulle et rektangulært område ved hjelp av funksjonen ScrollDC.