Lo scorrimento dell'Area Client

Il modo più semplice per far scorrere il contenuto di un'area client è di cancellare e poi si ridisegna. Questo è il metodo per un'applicazione è probabile che l'uso con SB_PAGEUP, SB_PAGEDOWN e SB_TOP messaggi di notifica in genere richiedono completamente nuovi contenuti.

Alcuni messaggi di notifica, ad esempio SB_LINEUP e SB_LINEDOWN, non tutti i contenuti devono essere cancellati, perché alcuni rimanga visibile dopo lo scorrimento si verifica. La funzione ScrollWindowEx conserva una parte del contenuto dell'area client, spostare la parte conservata una quantità specificata e quindi si prepara il resto dell'area client per dipingere nuove informazioni. ScrollWindowEx utilizza il BitBlt funzione per spostare una parte specifica dell'oggetto dati in una nuova posizione all'interno dell'area client. Qualsiasi parte scoperto dell'area client (qualsiasi cosa non conservati) viene invalidato, cancellati e quando dipinse la prossima messaggio WM_PAINT si verifica.

La funzione ScrollWindowEx può essere utilizzata per escludere una porzione dell'area client dall'operazione di scorrimento. Questo impedisce oggetti con posizioni fisse, come ad esempio finestre figlio, si spostano all'interno dell'area client. Esso invalida automaticamente la porzione dell'area client che riceverà le nuove informazioni, in modo che l'applicazione non deve calcolare le proprie aree di visualizzazione. Per ulteriori informazioni sull'area di visualizzazione, vedere Clipping.

Di solito un'applicazione scorre il contenuto di una finestra nella direzione opposta che indicato dalla barra di scorrimento. Ad esempio, quando l'utente sceglie l'albero nella zona sotto la casella di scorrimento, un'applicazione scorre l'oggetto nella finestra verso l'alto per rivelare una porzione dell'oggetto che si trova sotto la porzione visibile.

È anche possibile scorrere un'area rettangolare, utilizzando la funzione ScrollDC.