Compartir por


Desplazar y escalar vistas

MFC admite vistas que se desplazan y vistas que se escalan automáticamente al tamaño de la ventana del marco que los muestra. La clase CScrollView admite ambos tipos de vistas.

Para obtener más información sobre el desplazamiento y el escalado, vea la clase CScrollView en la Referencia de MFC. Para obtener un ejemplo de desplazamiento, vea el ejemplo de Scribble.

Qué más quieres saber

Desplazamiento de una vista

Con frecuencia, el tamaño de un documento es mayor que el tamaño que puede mostrar su vista. Esto puede ocurrir porque los datos del documento aumentan o el usuario reduce la ventana que enmarca la vista. En estos casos, la vista debe admitir el desplazamiento.

Cualquier vista puede controlar los mensajes de la barra de desplazamiento en sus funciones miembro OnHScroll y OnVScroll. Puede implementar el control de mensajes de la barra de desplazamiento en estas funciones, realizando todo el trabajo por su cuenta, o bien usar la clase CScrollView para controlar el desplazamiento automáticamente.

CScrollView realiza las operaciones siguientes:

  • Administra los tamaños de la ventana y la ventanilla, y los modos de asignación.

  • Se desplaza automáticamente en respuesta a los mensajes de la barra de desplazamiento.

Puede especificar cuánto desplazarse por una "página" (cuando el usuario hace clic en un eje de barra de desplazamiento) y por una "línea" (cuando el usuario hace clic en una flecha de desplazamiento). Planifique estos valores para adaptarse a la naturaleza de la vista. Por ejemplo, puede que quiera desplazarse en incrementos de 1 píxel para una vista de gráficos pero, en los documentos de texto, en incrementos en función del alto de línea.

Escalado de una vista

Si quiere que la vista se ajuste automáticamente al tamaño de su ventana de marco, puede usar CScrollView para el escalado en lugar de desplazarse. La vista lógica se ajusta o se reduce para ajustarse exactamente al área cliente de la ventana. Una vista escalada no tiene barras de desplazamiento.

Consulte también

Uso de vistas