Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [VirtualStringTree] Ereignis, wenn Selektion aufgehoben (https://www.delphipraxis.net/135668-%5Bvirtualstringtree%5D-ereignis-wenn-selektion-aufgehoben.html)

xZise 15. Jun 2009 19:24


[VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Hallo ihr,

wie komme ich an ein Ereignis, wenn die Selektion aufgehoben wurde?
Normalerweise habe ich "OnFocusChange" verwendet, aber das reagiert nicht bei Selektionsaufhebung.

MfG
xZise

toms 15. Jun 2009 19:32

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Hallo

Was möchtest du damit bezwecken? Was ist der Hintergrund?

xZise 15. Jun 2009 19:50

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Hallo toms,
wir benutzen zwei Listen. In der einen werden alle Bücher und in der anderen die Exemplare angezeigt. Und ich wollte nun wenn die Selektion aufgehoben wird, alle Exemplare anzeigen. Ansonsten werdne nur die Exemplare eines Buches angezeigt.

Oder ein anderer Grund ist, dass man ein Buch/Exemplar nicht löschen können soll, wenn keins markiert ist. Idealer weise sollte man dann auch den Button vorher deaktivieren.

MfG
xZise

xZise 16. Jun 2009 16:24

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Hallo ihr,

gibt es denn keinen Hinweis vom VST dass die Selektion aufgehoben wurde?

MfG
xZise

mirage228 16. Jun 2009 16:43

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
OnFocusChanging müsste eigentlich aufgerufen werden. Ansonsten vllt. in sowas wie OnStatusChange/OnChange schauen, ob FocusedNode <> nil bzw. SelectionCount <> 0 (je nach dem was du möchtest).

Viele Grüße

xZise 17. Jun 2009 16:28

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Zitat:

Zitat von mirage228
OnFocusChanging müsste eigentlich aufgerufen werden.

... wird es aber nicht
Zitat:

Zitat von mirage228
Ansonsten vllt. in sowas wie OnStatusChange/OnChange schauen, ob FocusedNode <> nil bzw. SelectionCount <> 0 (je nach dem was du möchtest).

Aber das würde ja viel zu häufig aufgerufen werden?

MfG
xZise

xZise 7. Jul 2009 20:55

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Hallo, ich bin es nochmal

also ich komme da nicht so richtig weiter. Ich möchte nur, dass ich mitbekomme, wenn sich die Selektion ändert.

MfG
xZise

generic 7. Jul 2009 22:43

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Ich habe vorhin mir mal den Source angeschaut.
Das Ereignis was du brauchst lässt sich leicht nachrüsten.
Wäre das eine Variante für dich?

xZise 7. Jul 2009 23:52

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Natürlich. Also wenn ich dich richtig verstanden habe, willst du dem VST sozusagen eine offizelle "OnSelect" Methode verpassen?

MfG
xZise

generic 8. Jul 2009 09:44

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Jupp, wobei das "DU" eher bei "DIR" hängen bleibt.

Hawkeye219 8. Jul 2009 10:40

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Hallo Fabian,

warum nimmst du nicht einfach die von David in Beitrag #5 vorgeschlagene Kombination von OnChange mit Abfrage von SelectedCount? Selbst wenn das Ereignis mehrfach ausgelöst wird, kannst du doch über SelectedCount sehr genau steuern, wann du weitere Aktionen durchführst.

Gruß Hawkeye

raphaelm 8. Jul 2009 11:19

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
probier mal OnStateChange

Delphi-Quellcode:
if tsChangePending in enter then
  ...

xZise 8. Jul 2009 16:13

Re: [VirtualStringTree] Ereignis, wenn Selektion aufgehoben
 
Naja das Problem ist nun aber, dass zwei Events gefeuert werden, wenn man einen anderen Eintrag auswählt:
Zuerst das die Selektion aufgehoben wurde, und dann das die Selektion erweitert wurde.

Das äußert sich dann darin, dass zuerst kurz alles deaktiviert wird, und dann die Buttons wieder aktiviert werden.

MfG
xZise


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz