Compartir a través de


CWnd::ScrollWindowEx

Desplaza el contenido del área cliente de una ventana.

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

Parámetros

  • dx
    Especifica la cantidad, en unidades, de desplazamiento horizontal. Este parámetro debe tener un valor negativo para desplazarse a la izquierda.

  • dy
    Especifica la cantidad, en unidades, de desplazamiento vertical. Este parámetro debe tener un valor negativo a desplazarse hacia arriba.

  • lpRectScroll
    Señala una estructura de RECT que especifica la parte del área de cliente que se desplazará. si este parámetro es NULL, se desplaza el área cliente completa.

  • lpRectClip
    Señala una estructura de RECT que especifica el rectángulo de recorte para desplazarse. Esta estructura tiene prioridad sobre el rectángulo indicada por lpRectScroll. Sólo los bits dentro de este rectángulo se desplazan. Los bits fuera de este rectángulo no se ven afectados incluso si están en el rectángulo de lpRectScroll . Si este parámetro es NULL, no se realiza ningún recortar en el rectángulo de desplazamiento.

  • prgnUpdate
    Identifica la región que se modifica para contener la región invalidada moviendo. este parámetro puede ser NULL.

  • lpRectUpdate
    Señala una estructura de RECT que recibirá los límites del rectángulo invalidaron moviendo. este parámetro puede ser NULL.

  • flags
    Puede tener uno de los siguientes valores:

    • SW_ERASE Cuando especificado con SW_INVALIDATE, desactivada la región recién invalidada enviando un mensaje de WM_ERASEBKGND a la ventana.

    • SW_INVALIDATE reemplaza la región identificada por el prgnUpdate después de mover.

    • SW_SCROLLCHILDREN desplaza todas las ventanas secundarias que intersecan el rectángulo indicada por lpRectScroll por el número de píxeles especificado en dx y el dy. Windows envía un mensaje de WM_MOVE a todas las ventanas secundarias que intersecan lpRectScroll, aunque no se mueven. Cambia de posición el símbolo de intercalación cuando se desplaza una ventana secundaria y corta el rectángulo de cursor el rectángulo de desplazamiento.

Valor devuelto

El valor devuelto es SIMPLEREGION (región invalidada rectangular), COMPLEXREGION (región invalidada rectangular; superpuestos rectángulos), o NULLREGION (ninguna región invalidada), si la función es correcta; si no el valor devuelto es ERROR.

Comentarios

esta función es similar a la función de ScrollWindow , con algunas características adicionales.

Si SW_INVALIDATE y SW_ERASE no se especifican, la función miembro de ScrollWindowEx no reemplaza el área fuera de la que se mueve. Si cualquiera de estos marcadores se establece, ScrollWindowEx reemplaza esta área. El área no se actualiza hasta que la aplicación llame a la función miembro de UpdateWindow , llama a la función miembro de RedrawWindow (especificando RDW_UPDATENOW o RDW_ERASENOW), o recupera el mensaje de WM_PAINT de la cola de la aplicación.

Si la ventana tiene el estilo de WS_CLIPCHILDREN , las áreas devueltas especificadas por el prgnUpdate y el lpRectUpdate representan la superficie total de la ventana desplazados que debe actualizarse, incluido cualquier área en las ventanas secundarias que necesitan actualizar.

Si se especifica el indicador de SW_SCROLLCHILDREN , Windows no actualizará correctamente a la pantalla si la parte de una ventana secundaria se desplaza. La parte de la ventana secundaria desplazados que se encuentra fuera del rectángulo de origen no se borrará y no se rediseñada correctamente en el nuevo destino. Utilice la función de DeferWindowPos Windows para mover las ventanas secundarias que no mienten completamente dentro del rectángulo de lpRectScroll . Cambia de posición el cursor si el indicador de SW_SCROLLCHILDREN es determinado y corta el rectángulo del símbolo de intercalación el rectángulo de desplazamiento.

Todas las coordenadas de entrada y salida (para lpRectScroll, lpRectClip, lpRectUpdate, y el prgnUpdate) se supone que estar en coordenadas del cliente, independientemente de si la ventana tiene estilos de clase de CS_OWNDC o de CS_CLASSDC . Utilice las funciones de LPtoDP y de DPtoLP Windows para realizar la conversión entre coordenadas lógicas, si es necesario.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CWnd (clase)

Gráfico de jerarquías

CWnd::RedrawWindow

CDC::ScrollDC

CWnd::ScrollWindow

CWnd::UpdateWindow

DeferWindowPos

ScrollWindowEx