Petit problème de treeview avec imagelist

[Résolu]
Signaler
Messages postés
81
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
12 octobre 2007
-
Messages postés
81
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
12 octobre 2007
-
Bonjour à tous et bravo pour le site,

Voila mon problème :

J'ai dans une application un treeview qui recoit une liste d'image dans ses propriétés, du classique quoi.

J'ai quatre niveau dans ce treeview et chacun de ces niveaux recoit une image par défaut, sauf un, où tous les nodes recoivent comme imageindex -1 (je ne veux rien afficher)
.
le problème est que le texte est décalé car un espace de 16px est laissé pour afficher l'image alors que je ne souhaite rien afficher. résultat : les lignes qui lient les nodes peres aux nodes enfants de ce niveau débutent sur un emplacement vide.

j'ai essaye de passer par la méthode ONadvanceddrawitem mais le mieux que j'ai réussir à faire c'est d'afficher le texte au bonne endroit() mais en perdant les autres propriétés du node comme le focus,etc ...() .

Merci d'avance de vos réponses éclairées

6 réponses

Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
Je dis peut-être une connerie, mais si tu leur mettaient une image de ligne qui dessinerais le petit bout qui manque ?



ça serrait simple à faire... après faudrait voir le résultat bien sûr.




Loda
Messages postés
81
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
12 octobre 2007
1
salut,

j'ai déjà essayer mais c'est trop lent, faut pas oublier que cet évènement est utilisé très très souvent.

J'ai eu un peu de temps pour creuser la question en reprenant l'exemple fourni dans l'aide delphi, à la rubrique OnCustomDrawItem.

quand on implémente ce code, tout marche sauf la procédure drawbutton
( qui est d'ailleurs la plus importante). si quelqu'un sait comment l'appeler , je prends !!!!!!

Une remarque que je me fais : c'est quand même bizarre que le code trouvé dans le fichier d'aide de delphi ne marche pas ?????? mais bon personne n'est à l'abri de l'erreur surtout moi.
Messages postés
81
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
12 octobre 2007
1
j'ai trouvé la solution

pour cela il convient de regarder le projet dans demo\customdraw.

perso je trouve ca très mal foutu, mais on fera avec
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
a props de l'aide de Delphi: non c'est fréquent. regarde sur le site de
borland. y a peut être un bug repport sur la doc. (j'en trouvé un une
fois sur un exemple qui marchait pas)



en fait, je ne pensais pas dessiner dans ondraw le trait. je pensais de
mettre une image (à la palce de ne pas en mettre). mais cette image
serait un trait. donc l'espace n'as pas l'air vide et le trait est
continue.



mais peut-être que je n'ai pas compris ton problème !??!





Loda
Messages postés
81
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
12 octobre 2007
1
ben en fait j'ai essayé mais dans les propriétés du treeview tu peux choisir qu'une imagelist, ce qui impose une taille commune pour toutes les images (par ex 16*16 ); j'ai essayé d'utiliser comme tu le proposes une image de largeur 1 mais ca prend trop de temps dans le drawitem de changer l'imagelist du treeview.
Messages postés
81
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
12 octobre 2007
1
petit exemple avec la méthode de l'image à 1 :