Woah, this winapi things in LCL is really crap sometimes… especially when it comes to doubled functionality. Exactly this is what I hit when I use Scrollbars. A single Scrollbar was easy to implement just some position conversation needed. I thought now all scrollbars would work… meeep … wrong, of course, the two fixed scrollbars for other wincontrol you have to implement separately. 🙂
Need me some hours to figure out how this work. and make it possible, now it pays that I made the Objects for the MUI classes so open, easy to reuse of „other“ purposes, for example this scrollbars. Works rather nice already, the biggest problems are always the loop notify calls, or what MUI think is a loop. If I move the scrollbar very fast.. its not a loop notify.. but just again changed in the time the event fired… so position gets a new value.
The caret problem was much easier than I thought. The caret is directly drawn to the Canvas, outside an Paint event. I noticed there is a variable to fire an invalidate instead of paint it. And voila, some other (QT, GTK) seems also need this event because not allowed to draw outside paint event.