Fonctions etendues pour un TCheckListBox

Signaler
Messages postés
120
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007
-
Messages postés
120
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007
-
Voila, j'ai dans ma form un composant TCheckListBox mais les methodes SelectAll, ClearSelection et MoveSelection (de TCustomListBox) ne fonctionnent pas pour ce type de liste. J'ai donc du les ecrire moi meme.

Je vous demande alors si il exiterait un moyen d'acceder à ces methodes et lequel ? merci ;)

8 réponses

Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Bah, si tu les as réécrites, pourquoi veux-tu accéder aux "officielles" ?!! :-p

Nan... Sans rire... Je sais pas ! :big)

Désolé,
Bestiol.
Messages postés
120
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007

ben surtout voir si j'ai pas perdu de temps alors qu'il y avait une solution 10 x plsu rapide quoi ;) et aussi si ca vaut le coup que je complete le composant pour le mettre sur le site
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Malheureuseument tu as effectivement travaillé pour pas grand chose... Les trois procédures que tu sites fonctionnent bien avec le TCheckListBox de base :

SelectAll : Un listBox par nature ne peut sélectionner qu'une seule ligne. Or SelectAll essaye de toutes les sélectionner. Pour qu'il soit possible de sélectionner plusieurs ligne il faut mettre la propriété MultiSelect à True. C'est une propriété cachée dans l'inspecteur d'objet. Il faut donc la mettre à True au démarrage de l'application. Une fois ceci fait, le SelectAll fonctionne bien.

ClearSelection : Il fonctionne dans tous les cas. Dans le cas MultiSelect à False ClearSelection supprime bien la sélection de la ligne.

MoveSelection : Il fonctionne aussi dans tous les cas. Avec MultiSelect à false il ne copie que la ligne éventuellement sélectionnée. Avec MultiSelect à True il copie bien toutes les lignes sélectionnées ( dans ce cas on peut sélectionner avant plusieurs lignes manuellement avec CTRL-Clique par exemple ).

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
120
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007

Je me suis mal explique :

Pour moi une selection dans la liste CheckListBox c'est quand un utilisateur coche une case et ainsi il a selectionner la ligne alors que toi tu voit la selection comme la mise en surbrilliance de la ligne sans pour autant avoir coche
La fonction SelectAll ne permet pas de cocher toutes les cases, elle met en surbrilliance toutes les lignes c tout dans ce cas vaut mieux utiliser une ListBox alors a quoi servirait ce composant ;)
enfin peut etre en utilisant une fonction Checked en passant en parametre la selection mais bon ...
Quant a la fonction MoveSelection, elle n'en deplace qu'une qui est celle en surbrilliance
Donc voila je reformule ma question : existe t-il un moyen pour Gerer les cases a cocher d'une TCheckListBox comme des lignes d'une TListBox thx :)
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Excuse-moi, je n'avais pas compri la question dans ce sens... :blush)

Les procédures fonctionnent sur la propriété Selected[] et non sur la propriété Checked[]. La solution est sans doute alors ce que tu as déjà fait : il faut créer une classe descendante de TCheckListBox qui ne fait que surcharger ces trois méthodes pour qu'elles utilisent les lignes cochées plutôt que celles surlignées...
Ce n'est pas un gros boulot. :)

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
120
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007

je pense que pour quelqun qui ne programme pas depuis longtemps ca a represente un gros boulot au contraire...
je nai pas poste pour me venter de quoique ce soit
... tu ne me seras pas dune grande aide a mon avis :/
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
Si je t'ai froissé quelque part, dis le moi de suite stp.

La taille tu travail que ça représente dépend bien de l'expérience en Delphi. je n'aurais peut-être pas du dire que ce n'était pas un boulot. Et je parlais sans doute pour moi...

Ceci dit, je suis quand même prêt à t'aider mais si tu penses que j'en suis pas capable. Si tu veux que je le fasse fait le moi savoir. Dans ce cas je publierais un source en ce sens sur se site.

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
120
Date d'inscription
mercredi 14 août 2002
Statut
Membre
Dernière intervention
26 mai 2007

désolé alors .. j'avais compris autre chose :\