Okay, here's an odd one. Bug?
I create a Turbine.UI.Lotro.Scrollbar. Works fine. Then I want to grab certain values at the time when the user clicks it. (i.e. MouseDown() event).
So I write a MouseDown function for my scrollbar which does my code, then passes control on to Turbine.UI.Lotro.Scrollbar.Mou seDown().
My routine isn't called. When I click on the scrollbar, it goes straight to the scrollbar's implementation.
This isn't the case for other methods - e.g. MouseEnter and MouseLeave work just fine. (That is to say, my 'override' methods receive the events).
So how do I intercept the MouseDown() before the lotro scrollbar grabs control? I could 'fudge' it with MouseEnter/leave or with ValueChanged, but this will be visually obvious to the user and won't always generate the right results. I really need to grab some environmental variables at the *precise* moment at which the user clicks on the scrollbar.
The only thing I can think of is to put a transparent control *over* the scrollbar, intercept the MouseDown() there, do my stuff, and then pass the MouseDown() command to the lotro scrollbar.
But the default lotro.scrollbar() has all its routines hidden away behind a "user implementation" type. So I *CAN'T* call its MouseDown() routine. Nor does (despite the documentation) GetThumbControl() return the thumb control (I thought maybe I had to send the MouseDown to it?).
So while I can intercept the MouseDown with the invisible lay-over control, I can't find any way to pass that MouseDown event to the underlying scrollbar.
Is there some way to re-post the mousedown event? Then I could intercept it, do my processing, set the overlay control to MouseVisible(false), re-post the mousedown event (this time the scrollbar would catch it), and then restore MouseVisible() once the scrollbar was doing its processing.
... more and more complicated kludges.
Am I right that this is a bug in the Lotro.Scrollbar class... and where does one report such thing to get them added to the list? (I know that lua development is sporadic and slow....)