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 Einem Thread eine TTreeView-Node zuweisen??? (https://www.delphipraxis.net/19553-einem-thread-eine-ttreeview-node-zuweisen.html)

ralfi 5. Apr 2004 13:04


Einem Thread eine TTreeView-Node zuweisen???
 
Hallo!

Ich habe eine TreeView-Komponent auf meiner Form. Der Eigenschaft Images habe ich einen ImageList zugewiesen. In der TreeView sind bereits mehrere Nodes und SubItems vorhanden.

Dann wird irgendwann mal ein Thread gestartet, der zur Laufzeit auch ein Node mit einem SubItem in die TreeView hinzufügt. Der SubItem erhält dabei einen ImageIndex zugewiesen.

Mein Ziel ist, dass der Thread den ImageIndex des SubItems während der Laufzeit verändert. Damit wird dem Enduser praktisch mitgeteilt, wie weit der Thread ist. Theoretisch ist das genz einfach, wenn ich den Index des Nodes und des SubItems kenne. Z.B.:

Code:
...
TreeView1.Items.Item[0].Item[0].ImageIndex := 1
...
Aber wenn ein Node oder SubItem gelöscht wird, stimmt der Index nicht mehr. Es besteht auch die Möglichkeit, das weitere Threads noch dazu kommen, die auch Nodes erstellen und ImageIndex verändern etc.

Wie kann ich es so machen, dass der Thread immer weiss, welcher SubItem geändert werden soll? Bestimmt hat jemand schon so was gemacht.

Ich hoffe, ich habe mein Problem verständlich beschrieben :roll:

Danke!

Thunderchild 5. Apr 2004 13:51

Re: Einem Thread eine TTreeView-Node zuweisen???
 
Du könntest in Dein Thread-Object einen tTreeNode einfügen und diesem (ist ja nur ein Zeiger) dann den im TreeView erstellten TreeNode zuweisen. Dadurch kommt jeder Thread an seinen eigenen TreeNode ran, ohne über TreeView.Items zu gehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz