/// <summary> /// /// </summary> /// <param name="g"></param> /// <param name="sbRect"></param> /// <param name="clipRect"></param> /// <param name="state"></param> /// <param name="part"></param> public static void DrawScrollBar(Graphics g, Rectangle sbRect, Rectangle clipRect, ScrollBarStates state, ScrollBarParts part) { if (g == null || sbRect.Width <= 0 || sbRect.Height <= 0 || clipRect.Width <= 0 || clipRect.Height <= 0) { return; } ThemeFactory.DrawThemeBackground(g, "SCROLLBAR", (int)part, (int)state, sbRect, clipRect); }
/// <summary> /// Draw a scroll bar control. /// TODO: draw vertical scrollbars! /// </summary> public override void DrawScrollBar (Graphics graphics, Rectangle bounds, Rectangle drawBounds, Color foreColor, Color backColor, bool vertical, bool enabled, Rectangle bar, Rectangle track, Rectangle decrement, bool decDown, Rectangle increment, bool incDown) { // revert to default theme if necessary if (!enableTheme) // && FlatStyle.System { base.DrawScrollBar(graphics, bounds, drawBounds, foreColor, backColor, vertical, enabled, bar, track, decrement, decDown, increment, incDown); return; } ScrollBarStates barState = ScrollBarStates.SCRBS_DISABLED; ArrowButtonStates decState = ArrowButtonStates.ABS_LEFTDISABLED; ArrowButtonStates incState = ArrowButtonStates.ABS_RIGHTDISABLED; if (enabled) { decState = (decDown ? ArrowButtonStates.ABS_LEFTPRESSED : ArrowButtonStates.ABS_LEFTNORMAL); incState = (incDown ? ArrowButtonStates.ABS_RIGHTPRESSED : ArrowButtonStates.ABS_RIGHTNORMAL); barState = ScrollBarStates.SCRBS_NORMAL; } Theme.DrawControl(graphics, "Scrollbar", track, (int)ScrollBarParts.SBP_UPPERTRACKHORZ, (int)barState); Theme.DrawControl(graphics, "Scrollbar", bar, (int)ScrollBarParts.SBP_THUMBBTNHORZ, (int)barState); Theme.DrawControl(graphics, "Scrollbar", bar, (int)ScrollBarParts.SBP_GRIPPERHORZ, (int)barState); Theme.DrawControl(graphics, "Scrollbar", decrement, (int)ScrollBarParts.SBP_ARROWBTN, (int)decState); Theme.DrawControl(graphics, "Scrollbar", increment, (int)ScrollBarParts.SBP_ARROWBTN, (int)incState); }
/// <summary> /// /// </summary> /// <param name="state"></param> /// <returns></returns> private static ScrollBarStates ElementStateToScrollBarStates(ElementState state) { ScrollBarStates bs = ScrollBarStates.Normal; switch (state) { case ElementState.Disabled: bs = ScrollBarStates.Normal; break; case ElementState.Pushed: bs = ScrollBarStates.Pressed; break; case ElementState.Hover: bs = ScrollBarStates.Hot; break; } return(bs); }
/// <summary> /// /// </summary> /// <param name="d"></param> /// <param name="state"></param> /// <returns></returns> private static ScrollBarStates GetArrowScrollBarStates(Direction d, ElementState state) { ScrollBarStates sbs = ElementStateToScrollBarStates(state); switch (d) { case Direction.Up: break; case Direction.Down: sbs = (ScrollBarStates)(((int)sbs) + 4); break; case Direction.Left: sbs = (ScrollBarStates)(((int)sbs) + 8); break; case Direction.Right: sbs = (ScrollBarStates)(((int)sbs) + 12); break; } return(sbs); }
/// <summary> /// /// </summary> /// <param name="g"></param> /// <param name="sbRect"></param> /// <param name="clipRect"></param> /// <param name="state"></param> /// <param name="part"></param> public static void DrawScrollBar(Graphics g, Rectangle sbRect, Rectangle clipRect, ScrollBarStates state, ScrollBarParts part) { if (g == null || sbRect.Width <= 0 || sbRect.Height <= 0 || clipRect.Width <= 0 || clipRect.Height <= 0) { return; } ThemeFactory.DrawThemeBackground(g, "SCROLLBAR", (int) part, (int) state, sbRect, clipRect); }
/// <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); }