![]() |
TreeView
moin,
weiss ganz und gar nicht wie die kompo funzt...z.b wenn ich ein bestimmtes item in einem unterverzeichnis mrkiert hab...wie reagier ich darauf? gruss mario |
Hallo,
bei mir ist es schon lange her, daß ich die Kompo benötigte (ich verwende lieber den ![]() ![]() |
Wie kann ich auf das Auswählen eines TTreeNodes reagieren !?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Silent,
Verwende dazu das Ereignis
Delphi-Quellcode:
TTreeView.OnChange
Delphi-Quellcode:
Im Anhang findest Du eine Bieispielanwendung
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var NewItem: TListItem; begin ListView1.Items.BeginUpdate; ListView1.Items.Clear; NewItem:=ListView1.Items.Add; NewItem.ImageIndex:=Node.ImageIndex; NewItem.Caption:=inttostr(Node.Index); NewItem.SubItems.Add(Node.Text); ListView1.Items.EndUpdate; end; Gruß, Tom |
hoi,
danke für die antworten. Verstehe nur nicht, wie ich wenn ich links ein bestimmtes item(name z.b "test") markiert hab, im memo ein bestimmter text geaddet wird gruss silent |
Text zu TMemo hinzufügen wenn TTreeNode ausgewählt wurde
Hallo Silent
Versuch mal folgendes:
Delphi-Quellcode:
Memo1.Lines.BeginUpdate;
Memo1.Lines.Add(Node.Text); Memo1.Lines.EndUpdate; PS: Wenn Deine Frage sich auf mein Beispiel bezieht: Die Komponente auf der rechten Seite ist kein TMemo sondern eine TListView. BSP: Hinzufügen von Items in eine Listview
Delphi-Quellcode:
Gruß, Tom
procedure AddNewListViewItem(Caption: String);
var NewItem: TListItem; begin ListView1.Items.BeginUpdate; NewItem:=ListView1.Items.Add; NewItem.Caption:='Bezeichnung'; // {oder} NewItem.Caption:=Caption; NewItem.ImageIndex:=1; ListView1.Items.BeginUpdate; end; |
ow man, das ist zu schwer (für mich :D)
sagen wir mal mein treeview sieht so aus: 1 Hauptverzeichnis 1.1 Unterverzeichnis 1.1.1 Unterverzwichnis wenn ich nun das item "1.1.1 Unterverzeichnis" markiere, soll in memo1 kommen "jo" (nur so als test, dann versteh ichs schon) danke :) gruss mario |
Hallo Silent,
stell Dir doch einfach mal ein TreeView aufs Formular, dann machst Du ein Item, zu dem noch ein SubItem und zu dem noch ein SubItem. Dann machst Du ein Doppelklick auf den TV und in der OnClick-Prozedur die angelegt wird, schreibst Du dann folgendes:
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm1.TreeView1Click(Sender: TObject);
begin ShowMessage(TreeView1.Selected.Text); end; |
vielen dank :)
|
Moin Mario,
Du könntest jedem TreeNode in der Eigenschaft Data eine eindeutige ID mitgeben, um genau feststellen zu können welcher TreeNode angeklickt wurde. Setzen ginge z.B. so:
Delphi-Quellcode:
und die ID wieder auslesen so:
TreeView1.Items[1].Data := Pointer(1);
Delphi-Quellcode:
Da Data vom Typ Pointer ist, ist allerdings in beiden Fällen ein Typecast erforderlich. (deshalb Pointer(..) und integer(..))
tnID := integer(TreeView1.Selected.Data);
|
An die blinden Moderatoren Daniel und Christian: Wir haben eine extra Sparte nur für Komponenten*. :wink:
Und dahin wird das jetzt auch verschoben: *schieb* drück* *zehr* *willstduwohl*. :cyclops: *) Nicht böse sein. War nur als Aufhänger gedacht, dass es in der falschen Sparte stand und ich es verschoben habe. :angle2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 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