Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TreeView (https://www.delphipraxis.net/3456-treeview.html)

Pseudemys Nelsoni 13. Mär 2003 19:55


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

APP 14. Mär 2003 06:42

Hallo,
bei mir ist es schon lange her, daß ich die Kompo benötigte (ich verwende lieber den VirtualTreeview von Mike Lischke unter MPL-Lizenz) , daher kann ich dir nicht direkt helfen, allerdings gibt es unter http://users.iafrica.com/d/da/dart/z.../TreeView.html das IMHO beste Tutorial für Treeviews.

Specialwork 14. Mär 2003 09:32

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:
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;
Im Anhang findest Du eine Bieispielanwendung

Gruß, Tom

Pseudemys Nelsoni 14. Mär 2003 11:59

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

Specialwork 14. Mär 2003 12:11

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:
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;
Gruß, Tom

Pseudemys Nelsoni 15. Mär 2003 16:08

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

Daniel B 15. Mär 2003 16:14

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:
procedure TForm1.TreeView1Click(Sender: TObject);
begin
  ShowMessage(TreeView1.Selected.Text);
end;
Grüsse, Daniel :hi:

Pseudemys Nelsoni 15. Mär 2003 16:20

vielen dank :)

Christian Seehase 15. Mär 2003 16:22

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:
TreeView1.Items[1].Data := Pointer(1);
und die ID wieder auslesen so:

Delphi-Quellcode:
tnID := integer(TreeView1.Selected.Data);
Da Data vom Typ Pointer ist, ist allerdings in beiden Fällen ein Typecast erforderlich. (deshalb Pointer(..) und integer(..))

Luckie 16. Mär 2003 02:33

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