miércoles, 5 de junio de 2019

Clase ctl32_scontainer para Visual FoxPro 9

Descripción ctl32_scontainer

Esta clase aunque no fué realizada por mí creí importante dárselas a conocer ya que es un valioso aporte para nuestra comunidad Fox.

La clase proporciona un control de contenedor desplazable que se puede usar en Visual Foxpro  9.


¡Esta clase no es un reemplazo para un control Grid! Puede verse como un reemplazo para un control Pageframe, donde, en lugar de tener N páginas, una encima de la otra, tiene N páginas una tras otra y solo puede ver una página a la vez.

Por lo tanto, por las mismas razones que no tendrá un control Pageframe con N páginas como N registros de una tabla, no debería tener un control ctl32_scontainer que muestre N registros de una tabla uno tras otro.
Utiliza la API de Windows para crear verdaderos controles comunes de Windows de barras de desplazamiento.

Esta clase utiliza BINDEVENT con las nuevas características solo disponibles en VFP9. No funcionará en versiones anteriores de VFP. Si está utilizando una versión anterior de VFP, realmente debería actualizar a la versión 9.00 para aprovechar las muchísimas nuevas funciones VFP.

Principales características


  • Diseño visual, soltar el control en un formulario, agregarle un control secundario.
  • Soporta el desplazamiento vertical y horizontal de la rueda del mouse, y también el zoom de la rueda del mouse hacia adentro y hacia afuera en el control de la imagen contenida.
  • Soporta hacer clic y arrastrar el desplazamiento.
  • El control activo se desplaza automáticamente, con márgenes verticales y horizontales configurables, cuando un control se enfoca, se desplaza a la vista.
  • Participa de forma transparente en el orden de tabulación normal del formulario.
  • Comportamiento totalmente configurable: smallchange, largechange, wheelchange, mostrar siempre las barras de desplazamiento, mostrar una, ambas o ninguna barra de desplazamiento.
  • Las barras de desplazamiento desaparecen o se inhabilitan cuando no son necesarias.
  • Los cuadros de desplazamiento informan correctamente la posición y el tamaño del área visible dentro del área de control total contenida.
  • Cumplimiento del tema de Windows XP y Vista.
  • Eventos y métodos para implementar tus propios controles de desplazamiento.
  • El control del cliente se puede cargar dinámicamente utilizando los métodos de la clase AddObject() o NewObject().

Usos


  • Panorámica de imágenes grandes.
  • Create Explorer, Taskpane y otras interfaces GUI modernas.
  • En cualquier lugar, un contenedor de propósito general debe desplazarse debido a la forma o el tamaño de la pantalla.

Inicio rápido

Si desea un ctl32_scontainer en un formulario, arrastre el control ctl32_scontainer desde la ventana del Administrador de Proyecto y suéltelo en el formulario.

Cómo agregar controles al contenedor desplazable:
¡No agregue múltiples controles dentro del contenedor desplazable!

El contenedor desplazable solo admite un control de cliente. Añadir un contenedor o un control de imagen.

Para contenedores anidados simples (o cuando se trabaja con un control de imagen): haga que el contenedor desplazable sea grande, agregue un contenedor con controles o un control de imagen, alinéelo a la izquierda y la parte superior del contenedor desplazable, a continuación, reduzca el tamaño del contenedor desplazable.

Para contenedores anidados grandes o complejos, cree otro contenedor en un formulario, o como clase, y agregue sus controles a ese contenedor. Luego inserte su contenedor con controles en el contenedor desplazable. Si usó un formulario, copie el contenedor de ese formulario, luego presione la tecla Control y haga clic en el contenedor desplazable y péguelo. Si creó una clase contenedora, presione la tecla control y haga clic en el contenedor desplazable, luego arrastre y suelte la clase contenedora desde la ventana de su proyecto (hay muchas otras formas de hacerlo).

Piense en el contenedor desplazable como un PageFrame que solo puede tener una página, y en su propio contenedor como una Página. El nivel de jerarquía para sus controles será el mismo que en un escenario de PageFrame - Page.

El contenedor desplazable usará el primer control que contiene, ignorando cualquier otro control que se le agregue, por eso es crucial que use un control de contenedor, o solo un control de imagen única.

Usando nuevamente la analogía de PageFrame - Page, no puede agregar controles directamente a un PageFrame en VFP.


Proyecto de muestra


Vea el proyecto de muestra incluido en la carpeta de muestra para ver ejemplos de cómo usar el control y qué se puede hacer.

BindEvent
Esta clase hace Bindevents a las siguientes ventanas y mensajes de ventana:

Thisform.HWnd, WM_KEYUP

Thisform.HWnd, WM_CAPTURECHANGED


Thisform.HWnd, WM_LBUTTONUP

Link de Descarga :Download

3 comentarios:

  1. cual es la extension del archivo?
    tiene por extension .file y eso como que dice mucho.

    ya probe con .rar y .zip y nada

    ResponderEliminar
  2. Hay que renombrar el archivo a .html

    ResponderEliminar