I know that I can nullify the event handler, but I don't think that should be done, its just bad patch coding.
Way back I ported an app from Delphi over to here and it has a few TrackBar's in it. I had to put in a hack to determine if the user or software was changing the value.
Apparently, my old Delphi Install does not call the OnChange handler when software setting the value via Position, for example.
I don't have my latest Delphi in front of me at the moment, can someone verify if Current Delphi ignores the event when software setting the value?
In any case, if it is desirable to keep the OnChange event operating always then maybe we should have a MODIFIED property in there that can be tested while in that event? Cleared when software modifieds it, SET otherwise if user changes the value, like a few other controls that have it now.
The Modified flag is nice because If wanted to reset the value to something different while in the OnChange handler I can test the MODIFIED value which may actually cause a re-entry to the Event. That test can abort before doing damage.
Waiting for comments.