L’affichage d’une liste dont la hauteur de ligne s’adapte exactement au contenu est un besoin très courant. 4D View Pro inclut une nouvelle fonctionnalité qui permet à de contrôler indépendamment la hauteur de chaque ligne d’une boîte de liste pour l’adapter à son contenu. Pour en savoir plus sur 4D View Pro, consultez cet article de blog.
Il existe désormais deux façons de définir la hauteur d’une ligne dans une zone de liste :
- à l’aide de nouvelles commandes dédiées
- en utilisant un nouveau tableau de contrôle
Utilisation de nouvelles commandes
Les nouvelles commandes LISTBOX SET ROW HEIGHT et LISTBOX Get row height permettent de définir et de récupérer la hauteur de chaque ligne individuellement.
Si vous exécutez ce code :
LISTBOX SET ROW HEIGHT(* ; "listboxname";1;184) //Pellentesque
LISTBOX SET ROW HEIGHT(* ; "listboxname";2;41) //Vestibulumn
LISTBOX SET ROW HEIGHT(* ; "listboxname";3;86) //Suspendisse
Vous obtenez le résultat suivant :
Utilisation d’un tableau de contrôle de la hauteur
Vous pouvez utiliser cette propriété pour spécifier le nom du tableau de hauteur de ligne que vous souhaitez associer à la listbox.
Par exemple, si vous écrivez :
//l'unité courante est la ligne
ARRAY LONGINT(<>RowHeightArray;20)
<>RowHeightArray{5}:=3
La cinquième ligne de la boîte de liste aura une hauteur de trois lignes, tandis que toutes les autres lignes conserveront leur hauteur par défaut.
Vous pouvez également associer le tableau de contrôle de la hauteur par programmation. Les commandes LISTBOX SET ARRAY et LISTBOX Get array acceptent désormais un sélecteur de tableau de hauteur de ligne Listbox , ce qui vous permet de définir le tableau de contrôle de la hauteur de ligne par programmation.
LISTBOX SET ARRAY ( {* ;} object ; Listbox row height array ; <>RowHeightArray )
<>RowHeightArray:=LISTBOXGet array ( {* ;} object ; Listbox row height array )
Vous voulez l’essayer par vous-même ? Téléchargez simplement l’exemple suivant !
Pour plus de détails, veuillez vous référer aux articles suivants de la documentation de la 4D v16 :