Composant "liste de choix ordonnés depuis une liste triée"

Description

Composant permettant de faire un choix ordonné d'Items depuis une liste triée chaque Item pouvant être choisi 0 ou 1 fois.

- La liste de gauche est chargée par la propriété "ItemsSource".
- La liste de droite est récupérée par la propriété "ItemsDestination" (en lecture seulement).
- Les Items sont transférés d'une liste à l'autre par Drag and Drop. (à l'unité ou par plusieurs)
- La liste de gauche est triée automatiquement.
- La liste de droite est ordonnable par Drag and Drop.
- Les listes sont en "IntegralHeight".
- La hauteur est déterminée par "nbLignesAffichables" dans la limite de "HeightMax".
- "nbLignesAffichables" est ajustée automatiquement par "HeightMax".
- "Font" peut être choisie indépendemment de celle du Parent.
- Les libellés et les couleurs des Titres peuvent être choisis indépendemment l'un de l'autre.
- En "LargeurAutomatique", la largeur est ajustée de façon à ce que le plus long Titre et le plus long Item soient visibles (dans la limite de "WidthMax").
- "HeightMax" et "WidthMax", si ils sont non nuls, limitent les dimensions du composant.
- Chaque modification de la liste destination déclenche un évènement OnDestinationChange

Tout ceci est valable également dans l'IDE en temps réel, sauf Drag and Drop et OnDestinationChange bien entendu.

Source / Exemple :


J'ai joins un .ex (à renommer en .exe) pour que vous puissiez tester le composant sans l'installer.

Conclusion :


D'une double liste assez classique, avec transferts par des boutons, que j'avais développé dans un logiciel il y a qq années, j'ai décidé de faire un composant (ce qui a posé qq problèmes) avec transferts et ordonnancement par DragAndDrop.
Rien de particulier à signaler.
En souhaitant que celà serve un jour à quelqu'un.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.