![]() |
TrackBar - OnChange bei MouseMove unterdrücken
Hallo!
Ich würde gern bei einem Trackbar nur "endgültige" Änderungen als Event haben. D.h. bei Bewegung des Sliders mit der Tastatur bleibt alles beim alten, wenn man aber den Slider mit der Maus verschiebt, sollte der Event nur gefeuert werden, wenn die Maus losgelassen wird. (Es ist natürlich völlig ausreichend, wenn ich im OnChange-Event irgendwie überprüfen kann, ob da grad eine Verschiebe-Action im Gange ist. Ich brauch das nur an zwei Stellen, muss also keine extra Komponente sein. Ist mir sogar lieber wenn's keine eigene sondern der Standard-TTrackBar ist) Beim RxSlider wurde das durch einen Event "OnChanged" Event (zusätzlich zu "OnChange") abgedeckt, ich hätte diese Funktionalität aber gern beim Standard-Slider. Nachdem das Delphi-Ding ja eine Kapselung von der MFC ist, geht das vielleicht einfach durch senden einer Message an das Handle. Any Hints? Danke, Ralf |
Re: TrackBar - OnChange bei MouseMove unterdrücken
|
Re: TrackBar - OnChange bei MouseMove unterdrücken
Zitat:
Hier die Lösung:
Delphi-Quellcode:
type TSxTrackBar = class(TTrackBar)
private fOnChanged : TNotifyEvent; procedure CNHScroll(var Message: TWMHScroll); message CN_HSCROLL; published property OnChanged: TNotifyEvent read FOnChanged write FOnChanged; end; procedure TSxTrackBar.CNHScroll(var Message: TWMHScroll); begin inherited; if assigned(fOnChanged) and (Message.ScrollCode in [TB_THUMBPOSITION, TB_LINEUP, TB_LINEDOWN, TB_PAGEUP, TB_PAGEDOWN] ) then fOnChanged(self); end; P.S: Was bedeutet mhh? |
Re: TrackBar - OnChange bei MouseMove unterdrücken
das war noch morgens nach dem aufstehen, da wusste ich das nicht mehr so genau :mrgreen:
|
Re: TrackBar - OnChange bei MouseMove unterdrücken
Zitat:
Muss Heftig Herumraten Mit Halbem Hirn (weil morgens) Oder ist das gar keine Abkürzung und ich denk schon wieder mal zuviel nach? |
Re: TrackBar - OnChange bei MouseMove unterdrücken
Das ist wahrscheinlich einfach nur ein "mhh" im Sinne von "hmm". Quasi das Geräusch, das erzeugt wird, wenn man nachdenklich ein "m" ausspricht :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 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