-
Treeview et n° de ligne
Bonjour, j'ai une petite question suite à l'utilisation d'un treeview.
Dans mon éditeur de code, je voudrais faire un arbre qui montre des informations, telles que les fonctions, procédures, etc. (comme l'explorateur de code de Delphi).
Je voudrais faire en sorte que je puisse aller directement à la ligne correspondant à la définition séléectionnée. Malheureusement, je n'arrive pas à stocker le n° de ligne :cry:
Je voudrais qu'il ne soit pas visible (pour ne pas ajouter un sous élément). Comment puis-je le stocker ?
Je pensais à utiliser un tag, mais le TTreeItem ne dispose pas de cette propriété.
Merci d'avance,
-
Après relecture je vois que j,avais mal interprété ta question. Désolé
-
Ne peux tu pas utiliser
les objects associés pour stocker ton N° de ligne, style
Code:
TreeView.Items.AddObjects( nomnoeud, TObject( N°Ligne ) );
et pour le récuperer
Code:
N°Ligne := Longint( TreeView.Items.Objects[ IIndex ] );
Je suis pas sur de la syntaxe là, mais cette direction est peut etre la solution pour toi
-
la méthode AddObject est une bonne idée. Je crois par contre qu'il demande un pointeur, mais ça ne pose pas de gros souci en écrivant (ça marche peut être aussi avec la syntaxe plus haut, pas testé):
Code:
TreeView.Items.AddObjects( nomnoeud, Pointer(NumeroLigne) );
bon courage !
-
effectivement, il demande plus qu'un pointeur, il demande un TObject, c'est pour cela que dans mon exemple, je cast l'entier en TObject, et inversement pour récuperer l'entier...
-
Merci, j'étais parti sur une piste similaire, mais je pensais qu'il existait un moyen plus simple.
-
C'est la méthode AddObject qui demande un Pointer, tu peux aussi manipuler directement le champ Data du ttreenode.