Hi,
I have just developed a set of components, a custom scrollbar (don't yawn just yet) and a custom scrollable control
The custom scrollbars areused in a virtual sense within the scrollable control rather than usedas composites as this seems to improve performance generally, however the scrollbars can also be used standalone.
The scrollbars don't use the V/HScrollProperties as the values are integral to the bars themselves.
The scroll components can be totally modified and provide floating point precision.
The components by default render their interface almost identically to that of the Vista explorer theme/styles.
The intrinsic elements such as buttons, their glyphs/icons andanimation are totally tweakable.
The scrollable control manages painting of the scrollbars seperately to the rendering of the client area allowing normal use of the paint event (overridden or otherwise) without the need to be concerned with location/position.
The scrollable control and standalone versions of thescrollbar (V/H)both derrive from theWindows.Forms.Control
The controls have been developed explicity for user drawn rendering rather than to support other stock ui elements, however, one prototype of this control does seem capable of working as such.
What would seem clear is that the control(s) may serve useful forotherimplementations such asgame UI'sor high contrast applications for specialised needs etc...
I want to use the custom scroll componentsto replace thecustom tree and data grid components I have created which currently use the Windows.Forms.ScrollableControl
More Information
The components are created using just managed code without interop calls toGDI.
The components are not 100% complete (Scrollbar gutters) but are now at a stage where I could do with some help testing and refining and willing to share this development with another developer/programmer in the hope that it can be improved.
I have just moved the animation processing to another thread and this has made the overall response even better.
I am interested in using WM_NCPAINT rather than rendering the elements in the client area of the control, yet so far, it would seem this is not entirely necessary.
Hopefully somebody might be interested in sharing this development in return for some insights and improvements.
Is there a testing platform/forum available?
Cheers.