AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

[Gelöst] VST OnFocusChanged und Selection

Ein Thema von christophspaeth · begonnen am 22. Nov 2011 · letzter Beitrag vom 23. Nov 2011
Antwort Antwort
christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

[Gelöst] VST OnFocusChanged und Selection

  Alt 22. Nov 2011, 17:14
Hallo,

nochmal eine vst-Frage von mir. Bei der Suche nach einem OnSelectionChanged-Event bin ich schon auf diesen Eintrag gestoßen: [VST] Ereignis beim Auswählen eines Nodes.

Abhängig von der Auswahl möchte ich andere Controls außerhalb des VST aktualisieren, jedoch verhält sich der vst meiner Beobachtung nach anders, ob ich mit Maus oder Tastatur arbeite:
Wenn ich die Selektion mit der Maus ändere, ist der an OnFocusChanged übergebene Knoten schon selektiert, wenn ich die Auswahl mit den Cursortasten ändere, ist noch der vorherige Knoten selektiert, was mir gewisse Probleme bereitet.

Nachdem später auch MultiSelect möglich sein soll, ist der Ansatz, mir die im OnChange-Event die selektierten Nodes (s. verlinkter Post, Kommentar 2) zu merken etwas aufwändiger.

Hat da jemand eine Idee?

Danke & Gruß
Chris
Christoph Späth

Geändert von christophspaeth (23. Nov 2011 um 10:02 Uhr) Grund: "Gelöst" zum Titel hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: VST OnFocusChanged und Selection

  Alt 22. Nov 2011, 17:32
Mein Ansatz wäre TBaseVirtualTree.IterateSubtree und Filter auf vsSelected .
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
christophspaeth

Registriert seit: 7. Mär 2008
73 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

[Gelöst] AW: VST OnFocusChanged und Selection

  Alt 22. Nov 2011, 17:36
Hallo ConnorMcLeod,

danke für deine Antwort. Mein Problem ist nicht, dass ich nciht an die selektierten Einträge rankäme (vst.GetFirstSelected / vst.GetNextSelected). Das Problem ist vielmehr, dass ich kein geeignetes Event gefunden habe.

Ich werde trotzdem mal ausprobieren, ob ein von onFocusChanged aus angestoßenes IterateSubtree vielleicht die Änderung der selection immer mitbekommt.

Edit: Nein, (wie erwartet) stimmt auch das Ergebnis von IterateSubTree (wenn von onFocusChanged aus aufgerufen) bei verwendung der Cursortasten nicht mit der erwarteten Auswahl überein.

Edit2: Laut dem vst-Quellcode *ist* das OnChanged-Event das Selection changed event (auch wenn der Name und der von mir im Ursprungsposting verlinkte Post IMHO etwas anderes suggerieren), auf jeden Fall müsste es für mich passen.
Für Leute, die auch nach dem Problem suchen (alles nur meine Beobachtung): Wenn die Auswahl von einem Knoten zum anderen wandert, erhält man zwei Events - eins für das deselect des alten und eins für das select des neuen Knotens. Beim Deselect ist der Parameter Node nil. Achtung: Wenn mit Ctrl+A oder einem Mausrahmen mehrere selektiert werden, scheint Node auch nil zu sein, das ist also nicht als alleiniger Indikator für deselect geeignet!

Gruß Chris
Christoph Späth

Geändert von christophspaeth (23. Nov 2011 um 10:01 Uhr) Grund: Beschreibung OnChanged-Event
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: [Gelöst] VST OnFocusChanged und Selection

  Alt 23. Nov 2011, 10:53
Spannend - danke für die Info!
Nr.1 Delphi-Tool: [F7]
  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 00:41 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