Condividi tramite


CWnd::ScrollWindowEx

Scorre il contenuto dell'area client di una finestra.

int ScrollWindowEx( 
   int dx, 
   int dy, 
   LPCRECT lpRectScroll, 
   LPCRECT lpRectClip, 
   CRgn* prgnUpdate, 
   LPRECT lpRectUpdate, 
   UINT flags  
);

Parametri

  • dx
    Specifica la quantità, in unità, lo scorrimento orizzontale. Questo parametro deve avere un valore negativo per scorrere a sinistra.

  • Dy
    Specifica la quantità, in unità, lo scorrimento verticale. Questo parametro deve avere un valore negativo per scorrere su.

  • lpRectScroll
    I punti su RECT struttura che specifica la parte dell'area client da spostare. Se questo parametro è NULL, l'intera area client si scorre.

  • lpRectClip
    Punta a RECT struttura che specifica il rettangolo di ridimensionamento per lo scorrimento. Questa struttura ha la precedenza sul rettangolo puntato da lpRectScroll. Solo i bit nel rettangolo vengono scorsi. I bit all'esterno del rettangolo non sono interessati anche se sono nel rettangolo lpRectScroll. Se questo parametro è NULL, alcuna area di visualizzazione viene eseguito sul rettangolo di scorrimento.

  • prgnUpdate
    Identifica l'area modificata per contenere l'area invalidata scorrimento. Questo parametro può essere NULL.

  • lpRectUpdate
    Punta a RECT struttura che riceverà i limiti del rettangolo invalidato scorrimento. Questo parametro può essere NULL.

  • flags
    Può assumere uno dei seguenti valori:

    • SW_ERASE una volta specificato con SW_INVALIDATE, vengono l'area appena invalidata inviando un messaggio WM_ERASEBKGND la finestra.

    • SW_INVALIDATE invalida l'area identificata da prgnUpdate dopo essere stato spostato.

    • SW_SCROLLCHILDREN scorre tutte le finestre figlio che intersecano il rettangolo puntato da lpRectScroll il numero di pixel specificati in dx e Dy. Windows invia un messaggio WM_MOVE a tutte le finestre figlio che intersecano lpRectScroll, anche se non si spostano. Il cursore viene riposizionato quando una finestra figlio si scorre il rettangolo e il cursore interseca il rettangolo di scorrimento.

Valore restituito

Il valore restituito è SIMPLEREGION (area non rettangolare), COMPLEXREGION (area invalidata non; rettangoli sovrapposte), o NULLREGION (alcuna area invalidata), se la funzione ha esito positivo; in caso contrario il valore restituito è ERRORE.

Note

Questa funzione è simile alla funzione ScrollWindow, con alcune funzionalità aggiuntive.

Se SW_INVALIDATE e SW_ERASE non specificati, la funzione membro ScrollWindowEx non invalida l'area che sia stato spostato da. Se uno di questi flag è impostato, ScrollWindowEx invalida l'area. L'area non vengono aggiornati finché l'applicazione non chiamare la funzione membro UpdateWindow, chiamare la funzione membro RedrawWindow specificando RDW_UPDATENOW o RDW_ERASENOW), o recupera il messaggio WM_PAINT dalla coda dell'applicazione.

Se la finestra presenta lo stile WS_CLIPCHILDREN, le aree specificate restituite da prgnUpdate e da lpRectUpdate rappresentano la superficie totale della finestra scorsa che deve essere aggiornata, comprese tutte le aree nelle finestre figlio che devono aggiornare.

Se il flag SW_SCROLLCHILDREN viene specificato, Windows correttamente non aggiornerà lo schermo se una parte di una finestra figlio si scorre. La parte della finestra figlio scorsa che si trova all'esterno del rettangolo di origine non verrà deselezionata e non verrà ridisegnato correttamente nella nuova destinazione. Utilizzare la funzione di Windows DeferWindowPos per spostare le finestre figlio che non rientrano completamente all'interno del rettangolo lpRectScroll. Il cursore viene riposizionato se il flag SW_SCROLLCHILDREN viene stabilito il rettangolo e il cursore interseca il rettangolo di scorrimento.

Tutte le coordinate di input e output di input (per lpRectScroll, lpRectClip, lpRectUpdatee prgnUpdate) sono dovrebbero essere espresse client, indipendentemente dalla finestra dispone di stile della classe CS_CLASSDC o CS_OWNDC. Utilizzare le funzioni di Windows DPtoLP e LPtoDP per la conversione da e dalle coordinate logiche, se necessario.

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CWnd

Grafico delle gerarchie

CWnd::RedrawWindow

CDC::ScrollDC

CWnd::ScrollWindow

CWnd::UpdateWindow

DeferWindowPos

ScrollWindowEx