[Delphi] TreeView met nodes.

Pagina: 1
Acties:
  • 51 views sinds 30-01-2008

  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
Ik ben bezig met de TreeView component.
nou heb ik dit:

---------------------------------------------------

procedure TForm1.popTreeAddItemClick(Sender: TObject);
var
node : TTreeNode;
childnode : TTreeNode;
NewItem : String;
begin
node := TreeView1.Selected;
InputQuery('Input','Enter the Items name',NewItem);

if NewItem <> '' then
begin
New(p);

p^.Flag := 0;
p^.Text := 'hallo';
p^.Added := Now;
p^.LastVisit := 0;


TreeView1.Items.AddChild(node, NewItem).Data := p;
childnode := node.GetLastChild;

TreeView1.Select(childnode);
TreeView1.Items.Item[childnode.Index].ImageIndex := 1;

//TreeView1.Selected.ImageIndex := 1;
end;
end;

---------------------------------------------------

Ik maak een nieuwe node, en koppel daar data (een pointer) aan.
Probleem:
Hoe krijg ik de index van deze 'AddChild'
Misschien een stomme/simpele vraag, maar ik kom er niet uit...(misschien het hete weer)
Ik wil deze node namelijk een ander icoon geven.
Wat ik nu heb werkt niet.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 04-09 10:21

mulder

ik spuug op het trottoir

Kijk eens naar AddChild. Wat geeft die terug.

oogjes open, snaveltjes dicht


  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
zoals ik al zei: 'Warm weer....' :Z

  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
alleen probleem dit mag niet:

childnode := TreeView1.Items.AddChild(node, NewItem).Data := p;

dus moet toch de index hebben (of ben ik nu helemaal dom aan het lullen)

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 04-09 10:21

mulder

ik spuug op het trottoir

Volgens mij kun je aan AddChild die p meegeven, weer ik even niet heb hier geen Delphi. Is het niet AddChildObject ofzo?
Anders zou het
childNode := TreeView1.Items.AddChild(node, NewItem);
childNode.Data = p;
kunnen zijn...
childNode.Index kun je ook opvragen.

oogjes open, snaveltjes dicht


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 11:17

Creepy

Tactical Espionage Splatterer

newnode:=Treeview1.items.addchildobject(node,'caption van de node',p);

Lang leve de F1 knop! (Delphi help).

edit:
Hmm.. ik vraag me trouwens af wat je met de index van die node wilt.... een node toevoegen met addchildfirst (of was het nou addfirst) en je index klopt niet meer...

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
maar waarom werkt dit dan niet:
TreeView1.Items.Item[childnode.Index].ImageIndex := 1;

Dit veranderd wel een icoon maar niet van de nieuwe item maar die van de 'parent' en pas wanneer ik voor de 2e keer op de niewe item druk, met dit statement zeg ik toch dat ie het icoon moet veranderen van de nieuwe item ???

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 04-09 10:21

mulder

ik spuug op het trottoir

Op maandag 17 juni 2002 21:55 schreef MisterE het volgende:
TreeView1.Items.Item[childnode.Index].ImageIndex := 1;
Geen idee, maar childNode.imageIndex := 1; zal misschien een tip zijn.

Edit:
Wil ook wel een helpen (vet ding trouwens)

oogjes open, snaveltjes dicht


  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
Op maandag 17 juni 2002 22:00 schreef Don Facundo het volgende:

[..]

Geen idee, maar childNode.imageIndex := 1; zal misschien een tip zijn.



Edit:
Wil ook wel een helpen (vet ding trouwens)
Helaas die code doet hetzelfde.


Hmmm, ding is voor de vloer, dan krijg ik alleen koude benen.

[bijdehand mode]
Zou je dat ding ook in bed kunenn leggen
[/Bijdehand mode]

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:59
Sorry dat ik het moet zeggen hoor, maar al die problemen zijn toch makkelijk in de help terug te vinden. F1 is jouw vriend, en die moet je imho eerst gebruiken ipv direct je toevlucht op GoT te zoeken.

Om je image te veranderen, probeer even dit:
code:
1
2
NewNode := Treeview1.AddChild(...);
NewNode.ImageIndex := 4;

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.