AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TreeView Auswahl aufheben

Ein Thema von BetaBot · begonnen am 12. Apr 2009 · letzter Beitrag vom 12. Apr 2009
Antwort Antwort
BetaBot

Registriert seit: 6. Mai 2007
35 Beiträge
 
Turbo Delphi für Win32
 
#1

TreeView Auswahl aufheben

  Alt 12. Apr 2009, 15:21
Hallo Delphi - Gemeinde,

nach langer erfolgloser Suche habe ich mich entschlossen, hier zu posten. Mein Problem erscheint so simpel und doch kann ich es nicht lösen. Zur Veranschaulichung: ich habe eine ListBox und einen TreeView (wirklich nur zur Veranschaulichung).

ListBox: 1. Meier 2. Schulze 3. Lehmann

Treeview:

Land
Stadt
Straße

Edit: zeigt die entsprechenden Daten

Ich wähle Meier aus der ListBox, dann Land aus TreeView und Edit zeigt die Daten.
Nun mein Problem: Jetzt wähle ich Schulze aus der ListBox und wieder Land und es passiert nichts.
Der gewählte Knoten und die folgende Aktion wird im OnChange - Ereignis des TreeViews festgelegt.
Nun mein Verdacht: Bei Schulze und wieder Land passiert nichts, weil Land im TreeView immer noch selektiert ist und somit nichts "gechanged" wird.
Wie kann ich die Selektion auflösen?

myTreeView.Deselect(myTreeView.Selected) funktioniert nicht.

Ich hoffe, ich konnte mein Problem ausreichend darstellen und ihr könnt mir helfen.
Danke im Voraus,

der BetaBot
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#2

Re: TreeView Auswahl aufheben

  Alt 12. Apr 2009, 15:36
Ich würde auch noch im onChange der ListBox das Edit aktualisieren (TEdit als anzeige?!).

Ansonsten:
myTreeView.Selected := NIL; Aber achtung: auch das löst das OnChange aus.
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
BetaBot

Registriert seit: 6. Mai 2007
35 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TreeView Auswahl aufheben

  Alt 12. Apr 2009, 15:47
Hi Dominik,

myTreeView.Selected := Nil; löst bei mir eine Zugriffsverletzung aus. Ich denke, wegen Case Node.SelectedIndex of im OnChange - Ereignis der TreeView.
Wenn ich TreeView.Selected := Nil setze, wie groß ist den dann der SelectedIndex? -1? oder 0?

Vielleicht kann ich in die OnChange etwas schreiben wie If Node.SelectedIndex < 0 then exit , oder so...
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#4

Re: TreeView Auswahl aufheben

  Alt 12. Apr 2009, 15:55
Node.SelectedIndex ist immer 0, egal welchen Eintrag ich wähle. Und wegen dem kommt auch die AV. Was du meinst ist wohl Node.Index, Node ja der Ausgewählte Eintrag ist.
Dieser ist nachmyTreeView.Selected := Nil; -1

Und prüfen würde ich mit
if Assigned(Node) then
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
BetaBot

Registriert seit: 6. Mai 2007
35 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TreeView Auswahl aufheben

  Alt 12. Apr 2009, 15:56
Hab die Lösung gefunden:

Im OnClick - Ereignis der ListBox:

myTreeView.Selected := nil; Im OnChange - Ereignis der TreeView:

If myTreeView.Selected = nil then Exit; Am Ende doch machbar. Ich hoffe, es hilft vielleicht noch dem einen oder anderen.

Tschüß,

der BetaBot
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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