AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi VirtualStringTree (VirtualTreeView) und FocusedNode

VirtualStringTree (VirtualTreeView) und FocusedNode

Ein Thema von Mattze · begonnen am 4. Jul 2016 · letzter Beitrag vom 4. Jul 2016
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

VirtualStringTree (VirtualTreeView) und FocusedNode

  Alt 4. Jul 2016, 12:44
Hallo,

der VirtualStringTree ändert bei mir (Nur bei mir?) schon die FocusedNode beim Mousedown.
Soll er aber nicht. Wie beim Windows Explorer soll er das erst beim MouseUp.

Geht das irgendwie zu machen?

(Unangenehmes Beispiel: Ich möchte eine nicht focusierte Node draggen. Breche aber den Dragvorgang mit ESC ab. Beim Explorer passiert nix. Beim VirtualStringTree hat die zum Drag selektierte Node schon den Focus, was dann über FocusChanged verschiedene unbeabsichtigte Dinge auslöst.)

Gruß
Mattze
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.609 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: VirtualStringTree (VirtualTreeView) und FocusedNode

  Alt 4. Jul 2016, 15:04
Es gibt ein Event OnFocusChanging . Da kannst du den Allowed Parameter auf False setzen wenn du nicht willst, dass die Node gewechselt werden kann.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#3

AW: VirtualStringTree (VirtualTreeView) und FocusedNode

  Alt 4. Jul 2016, 15:51
Hi,

danke für den Tipp, aber das ist es nicht.
Wenn Du da allowed:=false machst, erlaubt er auch kein Drag&Drop mit der selektierten, dann aber nicht fokusierten Node.

Außerdem fällt mir nichts ein, wie ich das in meinem Beispiel benutzen könnte.
Wenn man beim Draggen ESC drückt, scheint es auch keine Meldung an das Programm zu geben.
WM_CANCELMODE scheint auch nicht im Programm anzukommen.

Also, dass war's leider nicht.

Im Quelltext der VirtualTrees habe ich gesehen, dass der Focus schon bei "HandelMouseDown" gesetzt wird. Vielleicht sollte man den besser bei "HandelMouseUp" setzen. Aber, ob das so einfach geht? (Redundanzen usw.)

Gruß
Mattze
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.609 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: VirtualStringTree (VirtualTreeView) und FocusedNode

  Alt 4. Jul 2016, 15:55
Im Quelltext der VirtualTrees habe ich gesehen, dass der Focus schon bei "HandelMouseDown" gesetzt wird. Vielleicht sollte man den besser bei "HandelMouseUp" setzen. Aber, ob das so einfach geht? (Redundanzen usw.)
Naja, die Komponente ist ja OpenSource. Du kannst es ja einfach mal ausprobieren. Wird aber sicherlich viel Arbeit. Ansonsten könntest du mal bei JAM-Software, die das Projekt ja übernommen haben, anfragen, ob bei den TreeOptions.SelectionOptions eine Option toSelectOnMouseUp hinzugefügt werden könnte. Für die nächste oder übernächste Version. Die müssen da ja dann auch alles testen und ggf. Bugs eliminieren.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf