The message is most likely caused by the sample project being made in Delphi 12, assuming you opened it with an older version. The default settings were not modified so it looks like colors are stored differently in 12.
As for tapping into the mouse wheel events of the TreeView: we retested this because it was working in 11 and 12 but indeed in 10.4 the events won't trigger which is very strange.
The event rooting changes we made are working as expected even in 10.4 so it doesn't really make sense to fix this - it wouldn't (and shouldn't) be used anyway. As a temporary workaround, commenting out the Handled := True line in VCL.TMSFNCCustomTreeView made the project work here.
Well, that change did in fact work in the previous version of the source, but not in the latest version (6.3.1.3) I downloaded Monday of this week.
Warning, potential rant:
I'm not quite sure what you mean by "it shouldn't be used anyway", but I really need a way of detecting when the user have scrolled to the top of the list and are trying to scroll more, just as when the user have scrolled to the last item and the list can't scroll anymore..
VScroll is unusable, since it only fires when there is a list to scroll and really can't tell me when the list is at the last item.
Why do I need this ?
Because, the user is connecting to a chat channel and are continuing in the conversation where they left off, but without loading 50000+ items of chat from the past or 2 weeks of chat since they were online last.
So, the user gets like 20 lines to begin with and depending on the direction the user is scrolling the list, the channel will dynamically request older or newer items depending on the direction of the scroll..
Unless you can device a way to do this without hooking OnMouseWheelUp/Down, I really do need to use these events.
You are of course more than welcome to create a OnScrolledToTop() and OnScrolledToBottom() events, then I'll use those..
With a similar setup (Delphi 10.4, VCL app, win64 target) it keeps working on our test machine after commenting out the Handled := True line. Unless you have other specifics, it's unclear what goes wrong. Are you sure you modified the correct file and not a leftover/backup by accident?
We understand the need and importance of the mouse wheel events. Specifically this solution shouldn't be used after the next version:
99% sure I don't have anything leftover, your installer removes everything and re-installs it all fresh.
I have noticed that I can't set breakpoints in the file anymore, like debugging is disabled for it, so to be completely honest - I have no idea if that is the file used by the compiler.
Delphi does not have any other paths it includes source from that contains your source though, so I'm almost certain - but it's software so it's possible..
That sounds similar to setting breakpoints in an unused unit file. You can double check by adding VCL.TMSFNCCustomTreeView to the uses list of your main unit and holding Ctrl while clicking its name - it should open the VCL.TMSFNCCustomTreeView that is seen and used by the IDE.
Or were you already opening it like that and you still cannot set breakpoints?