Personnaliser l’apparence avec les nouveaux types de fenêtres

Avec 4D 20 R5 de nouvelles possibilités de personnalisation des applications, deux types de fenêtres supplémentaires offrent désormais des fenêtres modales ou non modales flexibles sans barre de titre. Cela signifie une liberté totale pour adapter l’apparence de votre application à vos spécifications exactes. Imaginez que vous puissiez redessiner la barre de titre pour qu’elle corresponde à l’esthétique que vous souhaitez, en intégrant des fonctions telles qu’une boîte de recherche personnalisée ou d’autres éléments de manière transparente.

Mais ce n’est pas tout ! Nous avons également introduit plusieurs nouvelles commandes conçues pour rationaliser votre processus de développement :

  • Réduire une fenêtre dans la barre de titre sous Windows ou dans le dock sous macOS,
  • Savoir si la fenêtre est réduite dans la barre de titre sous Windows ou dans le dock sous macOS,
  • Savoir si la fenêtre est maximisée.

HDI : Améliorer le formulaire

Nouveaux types de fenêtres

Deux nouvelles constantes peuvent être utilisées avec la commande Open form window Deux nouvelles constantes peuvent être utilisées avec la commande

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

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

Voici un exemple avec une barre de titre personnalisée :

  • Un rectangle avec la couleur de fond automatique. Ainsi, sur macOS, en mode clair, le rectangle est blanc, et en mode foncé, le rectangle est noir.
  • Un bouton invisible au-dessus du rectangle. Au clic, le bouton déclenche la commande DRAG WINDOW ce qui permet de déplacer la fenêtre.
  • Trois boutons, Fermer, Maximiser et Minimiser avec les commandes associées MAXIMIZE WINDOW, MINIMIZE WINDOW, et REDUCE RESTORE WINDOW. Pour ce qui est de l’aspect des boutons, un peu plus de travail pour macOS, le rollover est effectué sur les trois boutons simultanément. Ainsi, lors des événements On Mouse enter et On Mouse Leave, les icônes des boutons sont modifiées à l’aide de la commande OBJECT SET FORMAT avec la commande

 

Sur macOS :

Plain form window no title

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

Movable form dialog box no title

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

Sur WindowS :

Plain form window no title

blank

Movable form dialog box no title

blank

 

Cet exemple en vidéo :

Nouvelles commandes

Outre ces nouveaux types de fenêtres, nous avons également introduit quelques commandes pratiques pour simplifier votre processus de développement :

  • La commande REDUCE RESTORE WINDOW vous permet de réduire la fenêtre la plus en avant ou la fenêtre nommée dans la barre des tâches sous Windows en mode SDI ou dans le dock sous macOS. Si la fenêtre est réduite, la commande la rétablit dans son état précédent.

REDUCE RESTORE WINDOW($winRef)

  • La commande Is window reduced permet de déterminer si une fenêtre est actuellement réduite. Cette connaissance peut être exploitée pour effectuer des actions spécifiques en fonction de l’état de la fenêtre.

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

  • La commande Is window maximized vous permet de savoir si la fenêtre se trouve dans l’état maximisé, ce qui vous permet de passer facilement de l’état maximisé à l’état précédent.

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

Et…

Veuillez vous référer à cette page de documentation pour plus d’informations sur les différents types de fenêtres. N’hésitez pas à partager les interfaces incroyables que vous avez créées avec cette fonctionnalité sur le Forum 4D.

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.