Herramientas que no utilizan la barra de títulos de Visual FoxPro - Simulación de maximizado

05/04/2020

 

Autor: Camf

Si alguna vez ha trabajado en una ventana de Vfp sin barra de títulos, seguramente que ya sabe de lo que voy a hablar en este artículo.

 

¿Cómo se consiguen los programas personalizados y de tanta belleza en Visual FoxPro?

Lo primero que tenemos que hacer es tener la propiedad TitleBar = 0 (Desactivado), en la ventana a tratar, la principal _Screen o en los formularios.

A partir de aquí añadimos barras de títulos personalizadas, controles, objetos todo lo que se nos pueda ocurrir.

 

Algunos ejemplos de estas herramientas

FoxRibbon 0.14 de Guillermo Carrero (D.E.P.)

FoxFace

FoxyTB - Enlace externo

VfpSkin

 

Problemas

¿Qué ocurre cuando utilizamos estas herramientas? - Anomalías de funcionamiento

En general presentan lo que yo llamo anomalías de funcionamiento.

Estas anomalías son de cuatro tipos tipos:

  1. Simula maximizado
  2. Multi - pantalla
  3. Desbordamiento de pantalla
  4. Oculta la barra de Windows

Figura 1

Herramienta

Anomalía multi - pantalla

Desbordamiento

Simula maximizado

Oculta la barra de Windows

FoxRibbon 0.14

No

No

FoxFace

No

No

FoxyTB

No

Si

No

VfpSkin 2.0

No

VfpSkin 3.0

No

No

Nota: Esto es una referencia basada en mis observaciones y no implica un mal funcionamiento.

En base a estas herramientas creo este artículo intentando explicar lo que ocurre y el por qué.

1. ¿Qué es simular un maximizado?

Es redimensionar una ventana con un valor de su propiedad WindowState = 0 al mismo tamaño que cuanto su propiedad WindowState = 2

Simular el maximizado no es un inconveniente. Las herramientas que menciono simulan el maximizado excepto FoxFace.

 

2. ¿A qué me refiero por anomalía multi-pantalla?

Nos referimos a utilizar una aplicación que funciona en un ordenador o PC con un sistema de dos o mas pantallas (monitores).

En estas herramientas, cuando una ventana está en su estado normal, es posible ubicarla y moverla en cualesquiera de la pantallas, pero cuando simulamos el maximizado en un sistema multi-pantallas, siempre tiene lugar en la pantalla principal. Exceptuamos a FoxFace que tiene un maximizado real.

 

3. Desbordamiento de pantalla en FoxFace al maximizar

Primero decirles que estoy entusiasmado con esta herramienta a la que estoy intentando solucionar problemas. Aquí el maximizado es real sin simulación (.WindowState = IIF(.WindowState = 0, 2, 0)), pero eso acarrea otros problemas cuando trabajamos sin la barra de títulos del sistema.

Los problemas mayores se presentaban al maximizar, pues tanto la ventana principal y como los formularios de nivel superior se desbordan:

  • La tercera parte superior de la barra de títulos se sale de nuestra pantalla
  • Tapa la barra de Windows (barra inferior de la pantalla)

Aquí el desbordamiento es exagerado debido a su arquitectura. Les anticipo que ya tengo FoxFace en proceso de mejora. A raíz de que estoy creando un manual de como he puesto en funcionamiento esta herramienta y corregido algún Bug, he decidido hacer primero este artículo generalizado.

Tiene una descarga gratuita de FoxFace. Si le gustan las herramientas tipo VfpSkin, debe probar sin duda alguna FoxFace.

 

4. Ocultar la barra de Windows

FoxFace que trabaja con un maximizado real, por problemas propios de Visual FoxPro, oculta la barra de Windows.

VfpSkin2, a pesar de trabajar con simulación de maximizado, tapa la barra de Windows, pero esto se puede corregir con facilidad.

El resto de herramientas no ocultan la barra de Windows.

 

Impresiones y peculiaridades de las herramientas que he nombrado

FoxRibbon 0.14 de Guillermo Carrero (D.E.P.):

Esta es la herramienta que mejor conozco. De hecho le hice una serie de mejoras y le he añadido clases de mi autoría, por lo que al final la he llamado FoxRibbon Camf (a mi versión mejorada, por supuesto). A fecha de hoy voy por la versión 0.41, pero estoy mejorando precisamente el sistema del maximizado. Eso sí, he conseguido que sea multi-pantalla y ahora la próxima versión, la 0.42, gozará de un maximizado optimizado de acuerdo a lo que aquí espongo.

La versión 0.14 que nos ha dejado Guillermo Carrero (D.E.P.), maestro del código Visual FoxPro y de quien tanto he aprendido, tiene un ingenioso sistema de maximizado. No es multi-pantalla por lo que el maximizado se realiza siempre en la ventana principal y restaura con normalidad al punto de partida. Yo conocí esta herramienta en el 2015, el maestro ya había fallecido, pero he leído en foros que versiones anteriores a la 0.14 tapaban la barra de Windows. Este problema fue solucionado por su creador al mismo tiempo que dejo de ser multi-pantalla.

FoxFace

Impresionante, pero hay que pasar tiempo con su primera puesta en funcionamiento. Maximizado real, multi-pantalla, tapa la barra de Windows y presenta un visible desbordamiento de pantalla.

FoxyTB - foxyTB-0-7-beta

FoxyTb es una elegante barra de títulos con muchas opciones. Maximiza mediante simulación. Solo maximiza en la ventana principal, no es multi-pantalla, no tapa la barra de Windows y tiene unas peculiaridades de funcionamiento:

  • En el formulario de ejemplo, podemos comprobar que la propiedad BorderStyle tiene un valor de 3 (Valor predeterminado - De tamaño ajustable) pero al ejecutar el ejemplo no se cumple esto, puesto que tenemos un tamaño fijo y no ajustable.
  • No tiene memoria del punto de partida: Si movemos la ventana en nuestra pantalla o pantallas y luego maximizamos y restauramos, nos damos cuenta de no recuerda la posición inicial, haciendo la restauración en el centro de la pantalla principal.

VfpSkin

De VfpSkin conozco dos versiones, la 2.00 y la 3.01 y he creado un pequeño manual basado en la información disponible en internet.

Las dos versiones utilizan simulación de maximizado y no son multi-pantalla. La ver. 2.00 tapa la barra de Windows y en la 3.01 se ha corregido el problema. Restauran con normalidad al punto de partida.

 

Vea también

 


 

Referencias

Autor: Camf

 

 

 



error: Contenido protegido