/// <summary> /// /// </summary> /// <param name="gr"></param> /// <param name="rect"></param> /// <param name="o"></param> /// <param name="state"></param> protected override void DrawThumb(Graphics gr, Rectangle rect, Orientation o, ElementState state) { if (ThemeFactory.VisualStylesEnabled && ThemeFactory.VisualStylesSupported) { ThemeFactory.DrawScrollBar(gr, rect, ElementStateToScrollBarStates(state), o == Orientation.Horizontal ? ScrollBarParts.ThumbBtnHorz : ScrollBarParts.ThumbBtnVert); if (FirstCoord((Point)rect.Size) > 17) { ThemeFactory.DrawScrollBar(gr, rect, ElementStateToScrollBarStates(state), o == Orientation.Horizontal ? ScrollBarParts.GripperHorz : ScrollBarParts.GripperVert); } } else { if (state == ElementState.Pushed) { ControlPaint.DrawButton(gr, rect, ButtonState.Pushed); } else { ControlPaint.DrawButton(gr, rect, ButtonState.Normal); } } }
/// <summary> /// /// </summary> /// <param name="gr"></param> /// <param name="rect"></param> /// <param name="d"></param> /// <param name="state"></param> protected override void DrawArrow(Graphics gr, Rectangle rect, Direction d, ElementState state) { if (ThemeFactory.VisualStylesEnabled && ThemeFactory.VisualStylesSupported) { ThemeFactory.DrawScrollBar(gr, rect, GetArrowScrollBarStates(d, state), ScrollBarParts.ArrowBtn); } else { ScrollButton sb = DirectionToScrollButton(d); ButtonState bs = ElementStateToButtonState(state); ControlPaint.DrawScrollButton(gr, rect, sb, bs); } }
/// <summary> /// /// </summary> /// <param name="gr"></param> /// <param name="rect"></param> /// <param name="d"></param> /// <param name="state"></param> protected override void DrawInside(Graphics gr, Rectangle rect, Direction d, ElementState state) { if (ThemeFactory.VisualStylesEnabled && ThemeFactory.VisualStylesSupported) { ScrollBarParts p = ScrollBarParts.UpperTrackVert; switch (d) { case Direction.Up: p = ScrollBarParts.UpperTrackVert; break; case Direction.Down: p = ScrollBarParts.LowerTrackVert; break; case Direction.Left: p = ScrollBarParts.UpperTrackHorz; break; case Direction.Right: p = ScrollBarParts.LowerTrackHorz; break; } ThemeFactory.DrawScrollBar(gr, rect, ElementStateToScrollBarStates(state), p); } else { HatchBrush br = new HatchBrush(HatchStyle.Percent50, SystemColors.ScrollBar, Color.White); gr.FillRectangle(br, rect); br.Dispose(); br = null; } }
/// <summary> /// /// </summary> /// <param name="g"></param> /// <param name="sbRect"></param> /// <param name="state"></param> /// <param name="part"></param> public static void DrawScrollBar(Graphics g, Rectangle sbRect, ScrollBarStates state, ScrollBarParts part) { ThemeFactory.DrawScrollBar(g, sbRect, sbRect, state, part); }