![]() |
TreeView
Hallo, ich habe ein paar fragen zum TreeView unswar:
Wie kann man per Button1 ein neuer Knoten und per Button2 untereinträge erstellen: ![]() --------------- Für jeden untereintrag soll in einem RichEdit ein Text eingetragen werden den man dann auch abspeichern kann... Ich hoffe ihr wisst wie ich es meine & könnt mir helfen |
Re: TreeView
Untereintrag? geht das nicht mit AddChild?
//Edit: und speichern so am besten mit ini: [3432452] Egal=Text ...=... [...] ...=... P.S.: Davon gibts auch ne Anleitung! Und im die Suche findet sicher auch einiges! |
Re: TreeView
Guggs du :zwinker:
Delphi-Quellcode:
var
t : TTreeNode; begin with TreeView.Items do begin AddChild(nil,'Knoten1'); t:=AddChild(nil,'Knoten2'); AddChild(t,'Unterpunkt1'); AddChild(nil,'Knoten3'); end; end; |
Re: TreeView
Zitat:
// Edit: Schon ok ---- Angel4585 ich verstehe das nicht so wirklich brauche ich dafür nicht noch ein paar variablen? |
Re: TreeView
Zitat:
Geht nicht, da fehlt ein '
Delphi-Quellcode:
with TreeView.Items do
begin AddChild(nil,'Knoten1'); t:=AddChild(nil,'Knoten2'); // Hier fehlte ein ' zum schluss :P AddChild(t,'Unterpunkt1'); AddChild(nil,'Knoten3'); end; |
Re: TreeView
Danke für die hilfen schon einmal!
Delphi-Quellcode:
In den 2 Zeilen wird mein einfehler amgezeigt unswar beim t ich denke das ich dafür noch eine variable benötige... Aber welche?
t:=AddChild(nil,'Knoten2);
AddChild(t,'Unterpunkt1'); |
Re: TreeView
@Klugscheisser: habs oben korrigiert :zwinker:
@Steven: Variable hab ich oben auch dazugemacht ;) Erklärung: Addchild gibt das Treenode das man gerade erstellt hat zurück, wenn du einen Unterpunkt erstellen willst, übergibts du einfach den Knoten wo du den Punkt anheften willst(in meinem Beispiel ist das das "t") wenn du einen komplett neuen Knoten erstellen willst übergibst du eben "nil" |
Re: TreeView
Ok dankeschön das ist klasse!
Aber ich möchte auch noch gerne für jedes
Delphi-Quellcode:
Also Unterpunkt möchte ich in ein RichEditwas eintragen und wenn möglich diesen eintrag auch unter diesem Unterpunkt speichern wenn ihr mir da auch nocheinmal helfenkönntet wäre supi?
AddChild(t,'Unterpunkt1');
|
Re: TreeView
Zitat:
Delphi-Quellcode:
procedure TForm1.TreeViewChange(Sender: TObject; Node: TTreeNode);
begin with TreeView do begin if Selected.Text = 'Unterpunkt1' then begin ... //Wie man unter dem Punkt jetzt am besten was speichert weis ich leider nicht end; end; end; |
Re: TreeView
Mh... Also eigentlich wollte ich wenn ich jetzte ein 'Unterpunkt1' & noch einen 'Unterpunkt2' und wenn ich zb 'Unterpunkt1' anklicke kann ich was dafür ins RichEdit schreiben und wenn ich 'Unterpunkt2' anklicke kann ich dafür auch was reinschreiben...? :mrgreen:
|
Re: TreeView
hmm..
Punkt1 -> Text Punkt2 -> noch ein Text sowas meinst du? Das könntest du mit Listen machen, ist aber bissi kompliziert: Also du bracuhst ein Objekt das ca. so aussieht:
Delphi-Quellcode:
Also das soll jetzt nur ein Ansatz sein, ich hab leider grad keine Zeit das weiter zu vertiefen, aber schau dir das doch einfach mal an ;)TPunkt = class; TPunktliste = array of TPunkt; TPunkt = class(TObject) public Unterpunkte : TPunktListe; Name : string; Text : string; constructor Create(AOwnerPunkt : TPunkt); end; |
Re: TreeView
mh mist aber egal danke für die hilfe ich habe des jetzt :hello:
|
Re: TreeView
und wie hast du es jetzt gemacht? :gruebel:
|
Re: TreeView
Ne habe mich vertan da klappp nix :P... Da muss ich eine datenbank für machen und damit kenn ich mich überhaubt nicht aus :(.. Weil wenn man ja ein unterverzeichnes hat soll wenn man dort draufklick was in ein RichEdit reingeschriben werden das soll aber auch für jedes unter verzeichnes. Man soll dann den text der im RichEdit ist mit den Unterveizeichnis zusammen gespeichert werden! Und wenn man dann auf eins der vorhandenen unterverzeichnissen klickt öffnet sich im RichEdit der dazugehörige Text...
Aber leider kann mir keiner helfen ich bin da auch schon über 13 Tage dran^^ Aber ich habe nix im Internet gefunden wie man des macht naja hier war meine letzte hoffung :wall: |
Re: TreeView
Hallo,
Wo speicherst du denn die RTF Texte? Wenn du keine Datenbank verwenden möchtest, dann benutze eine INI-Datei in der du die Pfade zu den RTF-Texten einträgst. z.B.: [RTF-Text] 1=C:\Test\Text1.rtf 2=C:\Test\Text1.rtf Dann kannst du dem neuen Knoten den du hinzufügst einen Pointer geben mit der entsprechenden Nr. Wenn du das so machen möchtest, melde dich noch mal. Ich helfe dir dann... Gruß Winni |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz