AGB  ·  Datenschutz  ·  Impressum  







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

VirtualTreeView - Auswahl aufheben

Ein Thema von Michael_Bayer · begonnen am 2. Apr 2005 · letzter Beitrag vom 16. Aug 2008
Antwort Antwort
Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#1

VirtualTreeView - Auswahl aufheben

  Alt 2. Apr 2005, 11:07
Hallo.
Wenn ich in meinem VST einen Eintrag anklicke, wird er blau unterlegt und ist "selected".
Wie bekomme ich das denn hin, dass wenn ich auf einen leeren Bereich klicke, der "selectede" Eintrag deselektiert wird?
Ich habe schon mit AfterItemPaint rumgespielt, aber ich weiß ja nicht, wann ich auf einen leeren Bereich klicke...

Gruß
Micha
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#2

Re: VirtualTreeView - Auswahl aufheben

  Alt 2. Apr 2005, 11:10
hat der nicht ne funktion .ClearSelection ?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: VirtualTreeView - Auswahl aufheben

  Alt 2. Apr 2005, 11:12
Zitat von Gruber_Hans_12345:
hat der nicht ne funktion .ClearSelection ?
Ich müsst' nur wissen, wann ich auf einen freien Bereich klicke...
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#4

Re: VirtualTreeView - Auswahl aufheben

  Alt 2. Apr 2005, 13:52
wenn du in einen freien bereich reinklickst sollte kein node den focus haben.

also "vst.focusednode=nil"
  Mit Zitat antworten Zitat
Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: VirtualTreeView - Auswahl aufheben

  Alt 2. Apr 2005, 14:34
Zitat von generic:
wenn du in einen freien bereich reinklickst sollte kein node den focus haben.

also "vst.focusednode=nil"
Nein, geht nicht. Wenn vst.focusednode ist immer der blau hinterlegte Eintrag.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#6

Re: VirtualTreeView - Auswahl aufheben

  Alt 4. Apr 2005, 10:20
blau hinterlegt werden selektierte einträge. der focus wird durch ein gepunktete umrandung dargestellt.
eine blaue markierung bekommst du weg mit "vst.ClearSelection".

einzelne markierungen kannst du mit "vst.Selected[node]:=false" aufheben
  Mit Zitat antworten Zitat
Michael_Bayer

Registriert seit: 20. Mär 2005
137 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: VirtualTreeView - Auswahl aufheben

  Alt 4. Apr 2005, 10:25
Zitat von generic:
blau hinterlegt werden selektierte einträge. der focus wird durch ein gepunktete umrandung dargestellt.
eine blaue markierung bekommst du weg mit "vst.ClearSelection".

einzelne markierungen kannst du mit "vst.Selected[node]:=false" aufheben
Allerdings funtioniert ein
If Assigned(VST.FocusedNode) = nil then bla im OnClick funktioniert nicht. (wenn ich auf einen freien Bereich unter den Einträgen klicke, wird bla nicht ausgeführt.)
  Mit Zitat antworten Zitat
Benutzerbild von Addi
Addi

Registriert seit: 26. Jan 2006
Ort: Lingen
9 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: VirtualTreeView - Auswahl aufheben

  Alt 26. Jan 2006, 11:07
Also wenn du der VirtualTrees.pas in Zeile 20483 folgendes hinzufügst, dann wird die Auswahl beim Klick auf eine leere Stelle gelöscht:

Delphi-Quellcode:
  if (HitInfo.HitNode = nil) then
  begin
    ClearSelection;
    FocusedNode := nil;
    FFocusedNode := nil;
  end;
Gefunden nach dem Try&Error-Prinzip...

MfG

Addi
Adrian
  Mit Zitat antworten Zitat
itashadow

Registriert seit: 22. Apr 2008
Ort: Hattingen
86 Beiträge
 
#9

Re: VirtualTreeView - Auswahl aufheben

  Alt 14. Aug 2008, 12:48
ist zwar schon ein bisschen älter aber ich hatte dasselbe problem
und der letzte beitrag hat mich auf eine andere idee gebracht die ich hier posten wollte falls noch jemand das problem hat


einfach folgenden code am anfang vom onclick ereignis des trees packen
Delphi-Quellcode:
if vst.Selected[vst.FocusedNode] = false then
  begin
    vst.ClearSelection;
    vst.FocusedNode:= nil;
  end;
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: VirtualTreeView - Auswahl aufheben

  Alt 16. Aug 2008, 14:15
Hier ein weiterer Vorschlag...
Delphi-Quellcode:
procedure TForm.VSTMouseDown(Sender: TObject; Button: TMouseButton;
                             Shift: TShiftState; X, Y: Integer);
begin
  if not assigned(VST.GetNodeAt(X, Y)) then begin
    VST.ClearSelection;
    VST.FocusedNode:=nil;
  end;
end;
  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 12:28 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