Comment afficher ou masquer les cases à cocher de l’arborescence dans les nœuds ?

la programmation


Bonjour à tous!

Je voudrais commencer par remercier tous ceux qui prennent le temps de consulter ce fil et d’essayer d’aider.

J’ai créé un contrôle d’arborescence dans la boîte de dialogue, à l’aide de l’éditeur de ressources.

J’ai défini le style de case à cocher avec la fonction SetWindowLongPtr( … ).

Chaque nœud a une case à cocher, mais je n’ai besoin que de certains d’avoir une case à cocher et d’autres de n’avoir rien à côté de leur texte.

Cela peut-il être réalisé par sous-classement, et si c’est possible, veuillez me donner quelques pointeurs ou liens, éventuellement des exemples de code ou des didacticiels.

Si cela ne peut pas être fait par sous-classement, veuillez m’indiquer la bonne direction sur la façon de le faire (peut-être un dessin personnalisé ou peut-être un superclassement ?).

Je travaille sous MS Visual Studio Express 2008, sous Windows XP, en C++, en utilisant pur API WIN32.

Merci beaucoup!

Solution 1

Solution 2

Après les clarifications d’OP : une solution consiste à supprimer le nœud et à l’ajouter à nouveau, cette fois avec la case à cocher supprimée ou ajoutée. S’il y a des enfants, l’ensemble des enfants doit être préservé et restauré. La deuxième solution consiste à utiliser un dessin personnalisé, à simuler une case à cocher dans les graphiques et à programmer tous les événements requis. Invalidez le nœud et obtenez la case à cocher supprimée (masquée), désactivée ou quoi que ce soit.

-SA

Solution 3

Il existe deux manières de procéder :

L’une consiste à simuler des cases à cocher, comme cela est suggéré dans les solutions 1 et 2, et l’autre consiste à procéder de cette façon :

Après avoir créé le contrôle arborescent, ajoutez un élément, récupérer ces objetspuis les éléments définis indiquent la façon dont ils sont décrits ici :

http://stackoverflow.com/questions/17798463/is-it-possible-to-remove-some-checkboxes-from-tree-views-nodes[^]

Solution 4

Salut,

Une autre solution, sans utiliser d’images, consiste à désactiver la case à cocher treview (ou mieux simuler ce comportement) comme décrit ici :

http://matteo72.wordpress.com/wp-admin/post.php?post=327&action=edit&message=6&postpost=v2[^]

コメント

タイトルとURLをコピーしました