im TreeView suchen
Moin!
Wie kann ich denn in einem TreeView suchen? Speziell möchte ich alle Elemente mit einem bestimmten Text im Namen ausgeben (in eine Liste einfügen oder markieren, ist ganz egal). Und alle Elemente einzeln durchgehen ist ein wenig umständlich. Gibt es da keine eingebaute Funktion, also so etwas: treeview.FindItems('test*')? schöne Grüsse, Stefan |
Re: im TreeView suchen
ich kenn da keine funktion. Du wirst wohl nicht umhinn kommen dir selbst eine funktion zu schreiben. Da es sich um eine Baumstruktur handelt wäre da eine rekursive suche zu empfehlen.
Pseudo-Code
Code:
function SucheItems(ParentItem)
begin if ParentItem.Text = gesuchterText then ParentItem.Text zu Liste hinzufügen für Alle Unteritems SucheItems(UnterItem[UnteritemIndex]); end; |
Re: im TreeView suchen
Zitat:
Zitat:
Ich hatte mal (zu VB-Zeiten) eine Funktion, die das über SendMessage löst, allerdings wüsste ich jetzt nicht, wie ich den Suchbegriff in Delphi übergeben soll. Der musste nämlich als letzter Parameter übergeben werden und bei der "Delphiversion" ist der letzte Parameter ein integer. Ausgesehen hat das in etwa so:
Delphi-Quellcode:
Naja, muss wohl die kleine Suchfunktion her.
itmIndex = SendMessage(listview.hwnd, LVM_FindFirst, -1, "dingens")
Schöne Grüsse, Stefan |
Re: im TreeView suchen
|
Re: im TreeView suchen
Vermutlich musst du einfach nur einen PChar auf das Suchwort übergeben. Und da ein Integer erwaret wird musst du diesen wiederum zu einem Integer casten.
Delphi-Quellcode:
@toms: Deine funktion ist dann ja die welche ich nicht gepostet hab um den fragenden zu zwingen selbst das letzte stück zu denken (pseudocode war ja schon da).
sendmessage(listview.hwnd, LVM_FindFirst, -1, Integer(PChar('dingens')));
Ansonsten für das was er aus VB-Hatte sollte übertragen nach Delphi das obere Codeschnippsel herauskommen |
Re: im TreeView suchen
Moin!
Wenn wir hier schon Lösungen posten, dann will ich auch noch meine rekursiven Beispiel Fkts von meiner HP reinstellen: TreeView rekursiv durchsuchen MfG Muetze1 |
Re: im TreeView suchen
@toms:
Zitat:
@SirThornberry: Danke für den Hinweis. Ich habe gerade auf einer Seite [1] eine Funktion gefunden, welche mit SendMessage arbeitet. Mal schauen, was die so bringt. @Muetze1: Deine Seite funktioniert leider irgendwie nicht ("Verbindung wurde zurückgesetzt") :-{ schöne Grüsse, Stefan [1] http://www.delphi-central.com/tutori...eViewNode.aspx |
Re: im TreeView suchen
Moin!
Zitat:
Ich bin umgezogen und die domain ist beim denic schon neu eingetragen, es braucht noch bis zu 40 Stunden bis alle DNS Server die Änderung haben. Bei manchen Providern klappts schon. MfG Muetze1 |
Re: im TreeView suchen
Zitat:
Zitat:
schöne Grüsse, Stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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