Al cambiar de tamaño… Al cambiar de tamaño… Al cambiar de tamaño… Al cambiar de tamaño…

Traducido automáticamente de Deepl

¿Se pregunta cómo crear una interfaz de usuario agradable y dinámica? Normalmente, cuando se cambia el tamaño de un formulario, los objetos de formulario cuyas propiedades de tamaño horizontal o vertical están configuradas para moverse o crecer, se redimensionan automáticamente. En algunos casos (por ejemplo, para una gestión más fina de la interfaz de usuario), los desarrolladores optan por gestionar el tamaño y la posición de los objetos del formulario mediante programación. Para ello, comprueban el evento «on resized» que se activa dentro del método del formulario. Pero, ¿qué ocurre cuando el formulario contiene uno o varios subformularios? ¿En muchos niveles? ¡Esta entrada del blog te da las respuestas!

subformularios y subsubformularios y…

La gestión de los objetos de subformulario cuando se redimensiona un objeto de subformulario «padre» puede parecer complicada, ¡pero no lo es! Se puede hacer usando el comando Execute method in subform o modificando el valor asociado del objeto subformulario, seguido -dentro del subformulario- por la gestión del evento generado on bound variable change.

A partir de 4D v18, es aún más sencillo. ¡Puede gestionar directamente el evento on resize en el método del subformulario! ¡Mucho más conveniente, lógico y fácil! Este evento se activará cada vez que se modifique el tamaño del objeto subformulario en el formulario principal. Esto puede ocurrir cuando

  • el formulario principal es redimensionado (así como el objeto subformulario). Este es el caso más obvio.
  • un divisor modifica la altura o la anchura del objeto subformulario. No es tan obvio, pero vale la pena mencionarlo.
  • el tamaño de un objeto subformulario se modifica mediante la programación con el comando OBJECT SET COORDINATES. Este caso es aún menos obvio, no lo olvides 🙂

Conclusión

Si ya manejas este tipo de escenarios en tu aplicación, puedes considerar simplificar tu código (¡O no! «Si no está roto, no lo arregles»). Pero para futuros desarrollos, ¡apreciarás esta simplificación de la gestión de eventos!

Roland Lannuzel
- Propietario de Producto y Experto en 4D - Después de estudiar electrónica, Roland se dedicó a la informática industrial como desarrollador y consultor, construyendo soluciones para clientes con una variedad de bases de datos y tecnologías. A finales de los años 80 se enamoró de 4D y lo ha utilizado para escribir aplicaciones de negocio que incluyen sistemas de contabilidad, facturación y correo electrónico.Eventualmente se unió a la compañía en 1997, las valiosas contribuciones de Roland incluyen el diseño de especificaciones, herramientas de prueba, demos, así como la formación y hablar con la comunidad 4D en muchas conferencias. Continúa dando forma activamente al futuro de 4D definiendo nuevas características y herramientas de desarrollo de bases de datos.