protected virtual void OnDrawThumb(IntPtr hdc) { Graphics graphics = Graphics.FromHdc(hdc); graphics.Clip = new Region(ThumbBounds); if (((OwnerDrawParts & TrackBarOwnerDrawParts.Thumb) == TrackBarOwnerDrawParts.Thumb) && !base.DesignMode) { TrackBarDrawItemEventArgs e = new TrackBarDrawItemEventArgs(graphics, ThumbBounds, (TrackBarItemState)ThumbState); if (DrawThumb != null) DrawThumb(this, e); } else { Fusionbird.FusionToolkit.NativeMethods.TrackBarParts parts = Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMB; if (ThumbBounds.Equals(Rectangle.Empty)) return; switch (base.TickStyle) { case TickStyle.None: case TickStyle.BottomRight: parts = (base.Orientation != Orientation.Horizontal) ? Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBRIGHT : Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBBOTTOM; break; case TickStyle.TopLeft: parts = (base.Orientation != Orientation.Horizontal) ? Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBLEFT : Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBTOP; break; case TickStyle.Both: parts = (base.Orientation != Orientation.Horizontal) ? Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBVERT : Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMB; break; } if (VisualStyleRenderer.IsSupported) { new VisualStyleRenderer("TRACKBAR", (int)parts, ThumbState).DrawBackground(graphics, ThumbBounds); graphics.ResetClip(); graphics.Dispose(); return; } switch (parts) { case Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBBOTTOM: DrawPointerDown(graphics); break; case Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBTOP: DrawPointerUp(graphics); break; case Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBLEFT: DrawPointerLeft(graphics); break; case Fusionbird.FusionToolkit.NativeMethods.TrackBarParts.TKP_THUMBRIGHT: DrawPointerRight(graphics); break; default: if (ThumbState == 3 || !base.Enabled) ControlPaint.DrawButton(graphics, ThumbBounds, ButtonState.All); else graphics.FillRectangle(SystemBrushes.Control, ThumbBounds); ControlPaint.DrawBorder3D(graphics, ThumbBounds, Border3DStyle.Raised); break; } } graphics.ResetClip(); graphics.Dispose(); }
protected virtual void OnDrawTicks(IntPtr hdc) { Graphics graphics = Graphics.FromHdc(hdc); if (((OwnerDrawParts & TrackBarOwnerDrawParts.Ticks) == TrackBarOwnerDrawParts.Ticks) && !base.DesignMode) { TrackBarDrawItemEventArgs e = new TrackBarDrawItemEventArgs(graphics, base.ClientRectangle, (TrackBarItemState)ThumbState); if (DrawTicks != null) DrawTicks(this, e); } else { if (base.TickStyle == TickStyle.None) return; if (ThumbBounds.Equals(Rectangle.Empty)) return; Color black = Color.Black; if (VisualStyleRenderer.IsSupported) black = new VisualStyleRenderer("TRACKBAR", 9, ThumbState).GetColor(ColorProperty.TextColor); if (base.Orientation == Orientation.Horizontal) DrawHorizontalTicks(graphics, black); else DrawVerticalTicks(graphics, black); } graphics.Dispose(); }
protected virtual void OnDrawChannel(IntPtr hdc) { Graphics graphics = Graphics.FromHdc(hdc); if (((OwnerDrawParts & TrackBarOwnerDrawParts.Channel) == TrackBarOwnerDrawParts.Channel) && !base.DesignMode) { TrackBarDrawItemEventArgs e = new TrackBarDrawItemEventArgs(graphics, ChannelBounds, (TrackBarItemState)ThumbState); if (DrawChannel != null) DrawChannel(this, e); } else { if (ChannelBounds.Equals(Rectangle.Empty)) return; if (VisualStyleRenderer.IsSupported) { new VisualStyleRenderer("TRACKBAR", 1, 1).DrawBackground(graphics, ChannelBounds); graphics.ResetClip(); graphics.Dispose(); return; } ControlPaint.DrawBorder3D(graphics, ChannelBounds, Border3DStyle.Sunken); } graphics.Dispose(); }