public KryptonTrackBar()
{
// Default values
_autoSize = true;
_requestedDim = 0;
// Create the palette storage
_stateCommon = new PaletteTrackBarRedirect(Redirector, NeedPaintDelegate);
_stateFocus = new PaletteTrackBarRedirect(Redirector, NeedPaintDelegate);
_stateDisabled = new PaletteTrackBarStates(_stateCommon, NeedPaintDelegate);
_stateNormal = new PaletteTrackBarStates(_stateCommon, NeedPaintDelegate);
_stateTracking = new PaletteTrackBarPositionStates(_stateCommon, NeedPaintDelegate);
_statePressed = new PaletteTrackBarPositionStates(_stateCommon, NeedPaintDelegate);
// Create the override handling classes
_overrideNormal = new PaletteTrackBarStatesOverride(_stateFocus, _stateNormal, PaletteState.FocusOverride);
_overrideTracking = new PaletteTrackBarPositionStatesOverride(_stateFocus, _stateTracking, PaletteState.FocusOverride);
_overridePressed = new PaletteTrackBarPositionStatesOverride(_stateFocus, _statePressed, PaletteState.FocusOverride);
// Create the view manager instance
_drawTrackBar = new ViewDrawTrackBar(_overrideNormal, _stateDisabled, _overrideTracking, _overridePressed, NeedPaintDelegate);
_drawTrackBar.ValueChanged += new EventHandler(OnDrawValueChanged);
_drawTrackBar.Scroll += new EventHandler(OnDrawScroll);
_drawTrackBar.RightToLeft = RightToLeft;
ViewManager = new ViewManager(this, _drawTrackBar);
}