Définir une icône différente pour chaque fenêtre

Nous sommes heureux d’annoncer une nouvelle fonctionnalité qui améliorera l’expérience de l’utilisateur dans les applications multi-fenêtres dans 4D 20 R7. Avec l’introduction de la commande SET WINDOW DOCUMENT ICON, vous avez désormais la possibilité de définir une icône pour chaque type de fenêtre, ce qui permet aux utilisateurs d’identifier et de naviguer plus facilement dans les différentes fenêtres.

HDI : Définir le document et l’icône de la fenêtre

Nouvelle commande

La commande SET WINDOW DOCUMENT ICON permet de définir une icône personnalisée et/ou un document pour la fenêtre référencée en utilisant la syntaxe suivante :

SET WINDOW DOCUMENT ICON($winRef; $picture)
SET WINDOW DOCUMENT ICON ($winRef; $document)
SET WINDOW DOCUMENT ICON ($winRef; $picture; $document)

En utilisant cette commande, vous pouvez créer une interface plus attrayante et plus intuitive pour vos utilisateurs.

Icônes

Par exemple, créez trois fenêtres,

  • la première utilise l’icône de l’application sous Windows et aucune icône sous macOS,
  • la deuxième utilise une icône « utilisateur »,
  • et la troisième avec une icône « produit ».

 

var $winRef : Integer
var $userImage ; $productImage: Picture
BLOB TO PICTURE (File("/RESOURCES/icon/user.png").getContent() ; $userImage)
BLOB TO PICTURE (File("/RESOURCES/icon/product.png").getContent() ; $productImage)

// 1- Open "Contact" form
$winRef:=Open form window("Contact" ; Plain form window+Form has no menu bar)
DIALOG ("Contact" ; *)

// 2- Open "Contact" form with "user" icon
$winRef:=Open form window("Contact" ; Plain form window+Form has no menu bar)
SET WINDOW DOCUMENT ICON ($winRef; $userImage)
DIALOG ("Contact" ; *)

// 3- Open "Contact" form with "product" icon
$winRef:=Open form window("Contact" ; Plain form window+Form has no menu bar)
SET WINDOW DOCUMENT ICON ($winRef; $productImage)
DIALOG ("Contact" ; *)

L’icône sera visible dans la fenêtre elle-même…

blank

et sur la barre des tâches de Windows en mode SDI, offrant ainsi des repères visuels clairs à l’utilisateur.

blank

Documents

L’icône est généralement une image statique. Si la fenêtre représente un fichier ou un document sur le disque, vous pouvez activer la fenêtre contextuelle standard du document, associée à l’icône, en utilisant simplement ce code :

var $file : 4D.File
$file :=File("/RESOURCES/files/user.txt")
SET WINDOW DOCUMENT ICON ($winRef; $file)

blank
blank

 

Si vous associez un document, il utilise par défaut l’icône système de ce document. Vous pouvez utiliser une autre image avec ce code :

var $image : Picture
var $file : 4D.File
BLOB TO PICTURE (File("/RESOURCES/icon/user.png").getContent() ; $image)
$file:=File("/RESOURCES/files/user.txt")
SET WINDOW DOCUMENT ICON ($winRef; $image; $file)

blank
blank

 

Si vous ne voulez pas de barre de titre ou si vous souhaitez que l’icône soit associée à une action différente, voir Personnaliser l’apparence des nouveaux types de fenêtres.

Même si vous personnalisez complètement la barre de titre ou si vous ne souhaitez pas l’afficher du tout, la nouvelle commande SET WINDOW DOCUMENT ICON est toujours utile, car elle modifie l’icône utilisée dans la barre des tâches de Windows.

Suite…

Il existe de nombreuses possibilités pour personnaliser vos fenêtres, il suffit de jeter un coup d’œil à la documentation du thème Windows.

Si vous avez des commentaires ou des suggestions, n’hésitez pas à les partager sur le forum.

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.