¿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!