Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TreeView
johannes - Sa 19.10.02 10:21
Titel: TreeView
Hallo,
konnte zu 2 Fragen in Tuts. oder anderweitig nichts finden.
Habe ein TreeView mit mehreren Nodes und deren Childs. Ist ein Node ausgewählt wechselt das Image von 0 auf 1 (o = close 1 = open). Wie bekomme ich den ausgewählten ImageIndex zurück ?
Es sind in dem TreeView mehrere Nodes mit Childs geöffnet. Nun füge ich
einen weiteren Node dazu. Ist es möglich diesen Zustand festzuhalten um ihn nach dem erneuten öffnen des TreeViews gleich wieder so angezeigt zu bekommen?
MfG
Johannes
Delete - Sa 19.10.02 11:45
Titel: Re: TreeView
| johannes hat folgendes geschrieben: |
| Ist ein Node ausgewählt wechselt das Image von 0 auf 1 (o = close 1 = open) Wie bekomme ich den ausgewählten ImageIndex zurück ? |
Delphi-Hilfe ->
OnGetImageIndex,
OnGetSelectedIndex, bzw. so z.B. im "OnChange"-Ereignis:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode); begin ShowMessage(inttostr(Node.ImageIndex) + ':' + inttostr(Node.SelectedIndex)); end; |
| Zitat: |
| Es sind in dem TreeView mehrere Nodes mit Childs geöffnet. Nun füge ich einen weiteren Node dazu. Ist es möglich diesen Zustand festzuhalten um ihn nach dem erneuten öffnen des TreeViews gleich wieder so angezeigt zu bekommen? |
:?
Wenn du einen Knoten hinzufügst, dann ist er doch drin und bleibt es IMHO auch. Und wenn du Baum dann an der Stelle wieder öffnest, dann ... :? Was willst du noch mal machen? :?:
johannes - Sa 19.10.02 12:06
Titel: TreeView
Hi,
danke für die superschnelle Antwort !!
Zur Frage 2
Habe das TreeView in einer Artikelverwaltung (Obergruppe, Level 0 Untergruppe, Level 1 ...).
Wenn ich nun das Form schließe und später wieder öffne würde ich ganz gern die letzte Ansicht des TreeViews wieder so angezeigt bekommen wie es beim schließen war, damit ich nicht wieder die verschiedenen Gruppen öffnen muß.
Gruß
johannes
Delete - Sa 19.10.02 15:37
Da ich -offen gesagt- keine eingebaute Möglichkeit kenne, wirst du das wohl selbst programmieren müssen. Jeder Knoten bietet dazu die Bool-Eigenschaft "Expanded":
Quelltext
1: 2:
| if(TreeView1.Items.Item[0].Expanded) then ShowMessage('Ja, der Knoten ist aufgeklappt'); |
Du könntest jetzt z.B. den Knotennamen zusammen mit diesem Status speichern (in einer INI, oder in der Registry). Das setzt aber voraus, dass die Knotennamen "einzigartig" sind und nicht mehrfach vorkommen.
Wenn dir das irgendwie weiterhilft.
johannes - Sa 19.10.02 21:49
Titel: TreeView
Hi Mathias,
hilft mir super weiter !!
Da es mehrere Artikel aber nicht die strukturierten Gruppen mit gleichem Namen gibt, schreibe ich in dem "FormCloseQuery" die Namen und den Status in eine INI die sich im Programmverzeichnis befindet , das wars.
mercie vielmals
johannes
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!