Personalizar la apariencia de su aplicación con los nuevos tipos de ventanas

Con 4D 20 R5, se desbloquean nuevas posibilidades en la personalización de aplicaciones, dos tipos de ventanas adicionales ofrecen ahora ventanas modales o no modales flexibles sin barras de título. Esto significa total libertad para adaptar la apariencia de su aplicación a sus especificaciones exactas. Imagínese rediseñar la barra de título para adaptarla a la estética que desee, integrando funciones como una caja de búsqueda personalizada u otros elementos de manera transparente.

Pero eso no es todo. También hemos introducido varios nuevos comandos diseñados para agilizar su proceso de desarrollo:

  • Reducir una ventana en la barra de título en Windows o en el dock en macOS,
  • Saber si la ventana está reducida en la barra de título en Windows o en el dock en macOS,
  • Saber si la ventana está maximizada.

HDI: Mejorar el formulario

Nuevos tipos de ventanas

Se pueden utilizar dos nuevas constantes con el comando Open form window.

$winRef1:=Open form window("miFormulario1"; Plain form window no title)
$winRef2 :=Open form window("miFormulario2"; Movable form dialog box no title)

Form without title bar, with a "Hello World!" static text and a "OK" button

He aquí un ejemplo con una barra de título personalizada:

  • Un rectángulo con el color de fondo automático. Así que en macOS, en modo claro, el rectángulo es blanco, y en modo oscuro, el rectángulo es negro.
  • Un botón invisible sobre el rectángulo. Al presionarlo, el botón activa el comando DRAG WINDOW que permite mover la ventana.
  • Tres botones, Cerrar, Maximizar y Minimizar con los comandos asociados MAXIMIZE WINDOW, MINIMIZE WINDOW y REDUCE RESTORE WINDOW. En cuanto al aspecto de los botones, un poco más trabajado para macOS, el rollover se realiza en los tres botones simultáneamente. Así, en los eventos On Mouse enter y On Mouse Leave, los iconos de los botones se modifican con el comando OBJECT SET FORMAT.

 

En macOS:

Formulario sin título

Plain form window with a custom title bar that contains "close", "minimize" maximize" buttons and a search area.

Caja de diálogo móvil sin título

Modal dialog with a custom title bar that contains "close", "minimize", "maximize" and "help"buttons

En WindowS:

Formulario sin título

blank

Caja de diálogo móvil sin título

blank

 

Este ejemplo en video:

Nuevos comandos

Además de estos nuevos tipos de ventana, también hemos introducido algunos comandos útiles para simplificar su proceso de desarrollo:

  • El comando REDUCE RESTORE WINDOW permite reducir la ventana más frontal o la ventana con nombre en la barra de tareas en Windows en modo SDI o en el dock en macOS. Si la ventana se reduce, el comando la restaura a su estado anterior.

REDUCE RESTORE WINDOW($winRef)

  • El comando Is window reduced le ayuda a determinar si una ventana se encuentra actualmente en estado reducido. Este conocimiento se puede aprovechar para realizar acciones específicas basadas en el estado de la ventana.

If(Is window reduced($winRef))
// Do something
End if

  • El comando Is window maximized le permite saber si la ventana está en estado maximizado, para que pueda cambiar fácilmente entre el estado maximizado y el anterior.

If(Is window maximized($winRef))
MINIMUM WINDOW ($winRef)
Else
MAXIMIZE WINDOW ($winRef)
End if

Y…

Consulte esta página de documentación para obtener más información sobre los distintos tipos de ventanas. No dude en compartir las increíbles interfaces que ha creado con esta función en el Foro 4D.

Vanessa Talbot
• Propietario de producto - Vanessa Talbot llegó al equipo de 4D Program en junio de 2014. Como Propietario de producto, está a cargo de escribir las historias de los usuarios y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la funcionalidad entregada cumpla con las necesidades del cliente. Desde su llegada, ha trabajado en la definición de funcionalidades claves en 4D. Ha trabajado en la mayoría de las nuevas funcionalidades de multi hilo apropiativo y también en un tema muy complejo: la nueva arquitectura para la aplicación engined. Vanessa es licenciada por Telecom Saint-Etienne. Comenzó su carrera en el Instituto de Investigación Criminal como desarrolladora del departamento audiovisual. También ha trabajado en medios de comunicación y en el ámbito médico como experta en soporte técnico, producción y documentación de nuevas funcionalidades.