Exemple #1
0
        protected override void OnRenderImageMargin(ToolStripRenderEventArgs e)
        {
            ToolStrip toolStrip = e.ToolStrip;
            Graphics  graphics  = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle affectedBounds = e.AffectedBounds;

            affectedBounds.Width--;
            affectedBounds.Height--;
            if (toolStrip is ToolStripDropDown)
            {
                affectedBounds.Width = _OffsetMargin;
                Color          menuImageMarginBackColor = MenuImageMarginBackColor;
                RoundRectangle roundRectangle           = new RoundRectangle(cornerRadius: new CornerRadius(MenuCornerRadius), rect: affectedBounds);
                GDIHelper.FillPath(graphics, new RoundRectangle(affectedBounds, new CornerRadius(MenuCornerRadius, 0, MenuCornerRadius, 0)), menuImageMarginBackColor, menuImageMarginBackColor);
                Image menuImageBackImage = MenuImageBackImage;
                if (menuImageBackImage != null && ShowMenuBackImage)
                {
                    ImageAttributes imageAttributes = new ImageAttributes();
                    GDIHelper.SetImageOpacity(imageAttributes, MenuImageBackImageOpacity);
                    graphics.DrawImage(Resources.logo_mini, new Rectangle(affectedBounds.X + 1, affectedBounds.Y + 2, menuImageBackImage.Width, menuImageBackImage.Height), 0, 0, menuImageBackImage.Width, menuImageBackImage.Height, GraphicsUnit.Pixel, imageAttributes);
                }
                Point pt  = new Point(affectedBounds.X + _OffsetMargin, affectedBounds.Y + 3);
                Point pt2 = new Point(affectedBounds.X + _OffsetMargin, affectedBounds.Bottom - 3);
                using (Pen pen = new Pen(SkinManager.CurrentSkin.BorderColor))
                {
                    graphics.DrawLine(pen, pt, pt2);
                }
            }
            else
            {
                base.OnRenderImageMargin(e);
            }
        }
Exemple #2
0
        private void DrawBackGround(Graphics g)
        {
            GDIHelper.InitializeGraphics(g);
            Rectangle      rect      = new Rectangle(1, 1, base.Width - 3, base.Height - 3);
            RoundRectangle roundRect = new RoundRectangle(rect, new CornerRadius(_CornerRadius));

            switch (_ControlState)
            {
            case EnumControlState.Default:
                if (base.FlatStyle != 0)
                {
                    GDIHelper.FillRectangle(g, roundRect, SkinManager.CurrentSkin.DefaultControlColor);
                    GDIHelper.DrawPathBorder(g, roundRect);
                }
                break;

            case EnumControlState.HeightLight:
                GDIHelper.FillRectangle(g, roundRect, SkinManager.CurrentSkin.HeightLightControlColor);
                GDIHelper.DrawPathBorder(g, roundRect);
                break;

            case EnumControlState.Focused:
                GDIHelper.FillRectangle(g, roundRect, SkinManager.CurrentSkin.FocusedControlColor);
                GDIHelper.DrawPathBorder(g, roundRect);
                GDIHelper.DrawPathInnerBorder(g, roundRect);
                break;
            }
        }
Exemple #3
0
 protected void DrawCaptionLogo(Graphics g)
 {
     if (base.ShowIcon && CapitionLogo != null)
     {
         GDIHelper.DrawImage(g, LogoRect, _CapitionLogo, LogoSize);
     }
 }
Exemple #4
0
        private Bitmap CreateBacgroundImage()
        {
            Rectangle workRectangle   = WorkRectangle;
            int       width           = workRectangle.Width;
            int       height          = workRectangle.Height;
            Point     point           = new Point(base.Location.X + Padding.Left, base.Location.Y + CaptionHeight + Padding.Top);
            Point     upperLeftSource = (base.Parent == null) ? point : PointToScreen(point);
            Bitmap    bitmap          = new Bitmap(width, height);

            try
            {
                Bitmap bitmap2 = new Bitmap(width, height);
                using (Graphics graphics = Graphics.FromImage(bitmap))
                {
                    graphics.CopyFromScreen(upperLeftSource, new Point(0, 0), new Size(width, height));
                }
                using (Graphics graphics = Graphics.FromImage(bitmap2))
                {
                    GDIHelper.DrawImage(graphics, new Rectangle(0, 0, width, height), bitmap, 0.36f);
                }
                return(bitmap2);
            }
            catch
            {
                return(null);
            }
            finally
            {
                bitmap.Dispose();
            }
        }
Exemple #5
0
        protected override void OnDrawColumnHeader(DrawListViewColumnHeaderEventArgs e)
        {
            base.OnDrawColumnHeader(e);
            Graphics graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle bounds = e.Bounds;

            GDIHelper.FillPath(graphics, new RoundRectangle(bounds, 0), _HeaderBeginColor, _HeaderEndColor);
            bounds.Height--;
            if (BorderStyle != 0)
            {
                using (Pen pen = new Pen(BorderColor))
                {
                    graphics.DrawLine(pen, new Point(bounds.Right, bounds.Bottom), new Point(bounds.Right, bounds.Top));
                    graphics.DrawLine(pen, new Point(bounds.Left, bounds.Bottom), new Point(bounds.Right, bounds.Bottom));
                }
            }
            else
            {
                GDIHelper.DrawPathBorder(graphics, new RoundRectangle(bounds, 0), _BorderColor);
            }
            bounds.Height++;
            TextFormatFlags formatFlags = GetFormatFlags(e.Header.TextAlign);
            Rectangle       rectangle   = new Rectangle(bounds.X + 3, bounds.Y, bounds.Width - 6, bounds.Height);
            Image           image       = null;
            Size            imageSize   = new Size(16, 16);
            Rectangle       empty       = Rectangle.Empty;

            if (e.Header.ImageList != null)
            {
                image = ((e.Header.ImageIndex == -1) ? null : e.Header.ImageList.Images[e.Header.ImageIndex]);
            }
            GDIHelper.DrawImageAndString(graphics, bounds, image, imageSize, e.Header.Text, _Font, e.ForeColor);
        }
Exemple #6
0
        private void DrawButton(Graphics g)
        {
            EnumControlState enumControlState = (!GetComboBoxButtonPressed()) ? EnumControlState.Default : EnumControlState.HeightLight;
            Rectangle        rect             = new Rectangle(ButtonRect.X - 2, ButtonRect.Y - 1, ButtonRect.Width + 1 + _Margin, ButtonRect.Height + 2);
            RoundRectangle   roundRect        = new RoundRectangle(rect, new CornerRadius(0, _CornerRadius, 0, _CornerRadius));
            Blend            blend            = new Blend(3);

            blend.Positions = new float[3]
            {
                0f,
                0.5f,
                1f
            };
            blend.Factors = new float[3]
            {
                0f,
                1f,
                0f
            };
            GDIHelper.FillRectangle(g, roundRect, SkinManager.CurrentSkin.DefaultControlColor);
            Size arrowSize = new Size(12, 7);

            System.Windows.Forms.ArrowDirection direction = System.Windows.Forms.ArrowDirection.Down;
            GDIHelper.DrawArrow(g, direction, rect, arrowSize, 0f, Color.FromArgb(30, 178, 239));
            Color borderColor = SkinManager.CurrentSkin.BorderColor;

            GDIHelper.DrawGradientLine(g, borderColor, 90, rect.X, rect.Y, rect.X, rect.Bottom - 1);
        }
Exemple #7
0
 private void DrawSkinControlBox(Graphics g)
 {
     if (!SkinBoxRect.IsEmpty)
     {
         ControlBoxRender.DrawControlBox(g, SkinBoxRect, _SkinBtnState);
         GDIHelper.DrawImage(g, SkinBoxRect, Resources.skin, _SkinBoxSize);
     }
 }
Exemple #8
0
        private void DrawCaptionBackGround(Graphics g)
        {
            Rectangle rect  = new Rectangle(0, 0, base.Width, CaptionHeight);
            Rectangle rect2 = new Rectangle(rect.Left, rect.Bottom, rect.Width, 1);

            g.SetClip(rect2, CombineMode.Exclude);
            GDIHelper.FillRectangle(g, rect, SkinManager.CurrentSkin.CaptionColor);
            g.ResetClip();
        }
Exemple #9
0
 protected override void OnDrawSubItem(DrawListViewSubItemEventArgs e)
 {
     base.OnDrawSubItem(e);
     if (base.View == View.Details && e.ItemIndex != -1)
     {
         Rectangle          bounds    = e.Bounds;
         ListViewItemStates itemState = e.ItemState;
         Graphics           graphics  = e.Graphics;
         GDIHelper.InitializeGraphics(graphics);
         Blend blend = new Blend();
         blend.Positions = new float[4]
         {
             0f,
             0.4f,
             0.7f,
             1f
         };
         blend.Factors = new float[4]
         {
             0f,
             0.3f,
             0.8f,
             0.2f
         };
         if ((itemState & ListViewItemStates.Selected) == ListViewItemStates.Selected)
         {
             Color selectedBeginColor = _SelectedBeginColor;
             Color selectedEndColor   = _SelectedEndColor;
             selectedBeginColor = SkinManager.CurrentSkin.HeightLightControlColor.First;
             selectedEndColor   = SkinManager.CurrentSkin.HeightLightControlColor.Second;
             blend.Factors      = SkinManager.CurrentSkin.HeightLightControlColor.Factors;
             blend.Positions    = SkinManager.CurrentSkin.HeightLightControlColor.Positions;
             GDIHelper.FillPath(graphics, new RoundRectangle(bounds, 0), selectedBeginColor, selectedEndColor, blend);
         }
         else
         {
             if (e.ColumnIndex == 0)
             {
                 bounds.Inflate(0, -1);
             }
             Color selectedBeginColor = (e.ItemIndex % 2 == 0) ? _RowBackColor1 : _RowBackColor2;
             Color selectedEndColor   = selectedBeginColor;
             GDIHelper.FillPath(graphics, new RoundRectangle(bounds, 0), selectedBeginColor, selectedEndColor, blend);
         }
         if (e.ColumnIndex == 0)
         {
             OnDrawFirstSubItem(e, graphics);
         }
         else
         {
             DrawNormalSubItem(e, graphics);
         }
     }
 }
Exemple #10
0
        protected override void OnPaint(PaintEventArgs e)
        {
            e.Graphics.SmoothingMode     = SmoothingMode.AntiAlias;
            e.Graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
            Graphics graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            DrawFormBackGround(graphics);
            DrawCaption(graphics);
            DrawFormBorder(graphics);
        }
Exemple #11
0
        protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
        {
            Size     arrowSize = new Size(8, 8);
            Graphics graphics  = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle arrowRectangle = e.ArrowRectangle;

            arrowRectangle.X -= 2;
            GDIHelper.DrawArrow(graphics, e.Direction, arrowRectangle, arrowSize);
        }
Exemple #12
0
        private void DrawButton(Graphics g)
        {
            EnumControlState enumControlState = (!GetComboBoxButtonPressed()) ? EnumControlState.Default : EnumControlState.HeightLight;
            Rectangle        rect             = new Rectangle(ButtonRect.X, ButtonRect.Y - 1, ButtonRect.Width + 1 + _Margin, ButtonRect.Height + 2);
            RoundRectangle   roundRect        = new RoundRectangle(rect, new CornerRadius(0));

            GDIHelper.FillRectangle(g, roundRect, SkinManager.CurrentSkin.DefaultControlColor);
            GDIHelper.DrawArrow(arrowSize: new Size(12, 7), g: g, direction: System.Windows.Forms.ArrowDirection.Down, rect: rect, offset: 0f, c: Color.FromArgb(30, 178, 239));
            Color borderColor = SkinManager.CurrentSkin.BorderColor;

            GDIHelper.DrawGradientLine(g, borderColor, 90, rect.X, rect.Y, rect.X, rect.Bottom - 1);
        }
Exemple #13
0
        protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e)
        {
            ToolStripItem item     = e.Item;
            Graphics      graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            if (item.Tag != null && item.Tag.Equals("Vicky"))
            {
                int       num  = (item.Width >= item.Height) ? item.Height : item.Width;
                Rectangle rect = new Rectangle(0, 0, num, num);
                rect.Inflate(-1, -1);
                Color empty      = Color.Empty;
                Color empty2     = Color.Empty;
                Color lightColor = Color.FromArgb(255, 220, 102);
                Blend blend      = new Blend();
                blend.Positions = new float[3]
                {
                    0f,
                    0.5f,
                    1f
                };
                blend.Factors = new float[3]
                {
                    0.25f,
                    0.75f,
                    1f
                };
                Color color = (item.Selected || item.Pressed) ? Color.FromArgb(24, 116, 205) : SkinManager.CurrentSkin.BorderColor;
                float width = 1f;
                graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
                if (item.Selected || item.Pressed)
                {
                    width  = 2f;
                    empty  = Color.FromArgb(255, 226, 48);
                    empty2 = Color.FromArgb(255, 220, 102);
                    GDIHelper.DrawCrystalButton(graphics, rect, empty, empty2, lightColor, blend);
                }
                using (Pen pen = new Pen(color, width))
                {
                    graphics.DrawEllipse(pen, rect);
                }
            }
            else
            {
                Rectangle      rect      = new Rectangle(1, 1, item.Width - 4, item.Height - 3);
                RoundRectangle roundRect = new RoundRectangle(rect, ItemCornerRadius);
                if (item.Selected || item.Pressed)
                {
                    GDIHelper.FillRectangle(graphics, roundRect, SkinManager.CurrentSkin.HeightLightControlColor);
                    GDIHelper.DrawPathBorder(graphics, roundRect);
                }
            }
        }
Exemple #14
0
        private void DrawComboBoxBorder(Graphics g)
        {
            GDIHelper.InitializeGraphics(g);
            Rectangle rect = new Rectangle(Point.Empty, base.Size);

            rect.Width--;
            rect.Height--;
            using (Pen pen = new Pen(SkinManager.CurrentSkin.BorderColor, 1f))
            {
                g.DrawRectangle(pen, rect);
            }
        }
Exemple #15
0
        private void DrawFormBackGround(Graphics g)
        {
            Rectangle rect = new Rectangle(0, 0, base.Width - 2, base.Height - 2);

            if (SkinManager.CurrentSkin.BackGroundImageEnable)
            {
                GDIHelper.DrawImage(g, rect, SkinManager.CurrentSkin.BackGroundImage, SkinManager.CurrentSkin.BackGroundImageOpacity);
            }
            else
            {
                GDIHelper.FillRectangle(g, rect, SkinManager.CurrentSkin.ThemeColor);
            }
        }
Exemple #16
0
        private void DrawDefaultBorder(Graphics g, Rectangle textRect)
        {
            Rectangle rect = default(Rectangle);

            rect.X      = 0;
            rect.Y      = textRect.Height / 2;
            rect.Height = base.Height - textRect.Height / 2 - 1;
            rect.Width  = base.Width - 1;
            RoundRectangle roundRect = new RoundRectangle(rect, new CornerRadius(_CornerRadius));

            g.SetClip(textRect, CombineMode.Exclude);
            GDIHelper.DrawPathBorder(g, roundRect, _BorderColor, _BorderWidth);
            g.ResetClip();
        }
Exemple #17
0
        protected override void OnRenderOverflowButtonBackground(ToolStripItemRenderEventArgs e)
        {
            base.OnRenderOverflowButtonBackground(e);
            Graphics graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            ToolStripItem item   = e.Item;
            Rectangle     bounds = item.Bounds;

            bounds = new Rectangle(0, 0, bounds.Width, bounds.Height);
            Size arrowSize = new Size(8, 8);

            GDIHelper.DrawArrow(graphics, System.Windows.Forms.ArrowDirection.Down, bounds, arrowSize);
        }
Exemple #18
0
        protected override void OnRenderDropDownButtonBackground(ToolStripItemRenderEventArgs e)
        {
            ToolStripItem item     = e.Item;
            Graphics      graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle      rect      = new Rectangle(0, 0, item.Width - 1, item.Height - 1);
            RoundRectangle roundRect = new RoundRectangle(rect, ItemCornerRadius);

            if (item.Selected || item.Pressed)
            {
                GDIHelper.FillRectangle(graphics, roundRect, SkinManager.CurrentSkin.HeightLightControlColor);
                GDIHelper.DrawPathBorder(graphics, roundRect);
            }
        }
Exemple #19
0
        private void DrawBorder(Graphics g)
        {
            GDIHelper.InitializeGraphics(g);
            Rectangle      rect      = new Rectangle(1, 1, base.Width - 3, base.Height - 3);
            RoundRectangle roundRect = new RoundRectangle(rect, _CornerRadius);
            Color          color     = (!_TextBox.Enabled || _TextBox.ReadOnly) ? Color.FromArgb(215, 250, 243) : Color.White;

            _TextBox.BackColor = color;
            GDIHelper.FillPath(g, roundRect, color, color);
            GDIHelper.DrawPathBorder(g, roundRect, _BorderColor);
            if (_ControlState == EnumControlState.HeightLight)
            {
                GDIHelper.DrawPathBorder(g, roundRect, SkinManager.CurrentSkin.HeightLightControlColor.Second);
                GDIHelper.DrawPathOuterBorder(g, roundRect, SkinManager.CurrentSkin.HeightLightControlColor.First);
            }
        }
Exemple #20
0
        private void DrawComboBox(Graphics g)
        {
            GDIHelper.InitializeGraphics(g);
            Rectangle rect = new Rectangle(Point.Empty, base.Size);

            rect.Width--;
            rect.Height--;
            RoundRectangle roundRect = new RoundRectangle(rect, 0);
            Color          color     = base.Enabled ? _BackColor : SystemColors.Control;

            g.SetClip(EditRect, CombineMode.Exclude);
            GDIHelper.FillRectangle(g, roundRect, color);
            g.ResetClip();
            DrawButton(g);
            GDIHelper.DrawPathBorder(g, roundRect);
        }
Exemple #21
0
 private void DrawFormBorder(Graphics g)
 {
     if (base.WindowState != FormWindowState.Maximized)
     {
         Rectangle      rect           = new Rectangle(0, 0, base.Width - 2, base.Height - 2);
         RoundRectangle roundRectangle = new RoundRectangle(rect, new CornerRadius(CornerRadius));
         GDIHelper.DrawPathBorder(g, roundRectangle);
         using (GraphicsPath path = (_CornerRadius == 0) ? roundRectangle.ToGraphicsBezierPath() : roundRectangle.ToGraphicsArcPath())
         {
             using (Pen pen = new Pen(SkinManager.CurrentSkin.BorderColor))
             {
                 g.DrawPath(pen, path);
             }
         }
     }
 }
Exemple #22
0
        protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
        {
            ToolStripItem item     = e.Item;
            Graphics      graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle      rect           = new Rectangle(2, -1, item.Width - 4, item.Height + 1);
            RoundRectangle roundRectangle = new RoundRectangle(rect, new CornerRadius(0));

            if (item.Selected || item.Pressed)
            {
                Color baseColor = Color.FromArgb(200, SkinManager.CurrentSkin.HeightLightControlColor.First);
                Color color     = Color.FromArgb(250, baseColor);
                GDIHelper.FillRectangle(graphics, rect, SkinManager.CurrentSkin.HeightLightControlColor);
            }
        }
Exemple #23
0
 private void NcPaint(ref Message msg)
 {
     if (base.BorderStyle != 0)
     {
         IntPtr windowDC = Win32.GetWindowDC(msg.HWnd);
         if (windowDC == IntPtr.Zero)
         {
             throw new Win32Exception();
         }
         Rectangle rect = new Rectangle(0, 0, base.Width - 1, base.Height - 1);
         using (Graphics g = Graphics.FromHdc(windowDC))
         {
             GDIHelper.DrawPathBorder(g, new RoundRectangle(rect, 0), _BorderColor);
         }
         msg.Result = IntPtr.Zero;
         Win32.ReleaseDC(msg.HWnd, windowDC);
     }
 }
Exemple #24
0
        private void DrawContent(Graphics g)
        {
            GDIHelper.InitializeGraphics(g);
            int       width     = base.Width;
            int       height    = base.Height;
            Rectangle rectangle = new Rectangle(_Margin, height / 2 - _BoxSize.Height / 2, _BoxSize.Width, _BoxSize.Height);
            Size      size      = g.MeasureString(Text, Font).ToSize();
            Rectangle rect      = default(Rectangle);

            rect.X      = rectangle.Right + _Margin;
            rect.Y      = _Margin;
            rect.Height = base.Height - _Margin * 2;
            rect.Width  = size.Width;
            RoundRectangle   roundRect    = new RoundRectangle(rectangle, _CornerRadius);
            EnumControlState controlState = _ControlState;

            if (controlState == EnumControlState.HeightLight)
            {
                GDIHelper.DrawPathBorder(g, roundRect, SkinManager.CurrentSkin.OuterBorderColor);
                GDIHelper.DrawPathInnerBorder(g, roundRect, SkinManager.CurrentSkin.HeightLightControlColor.First);
            }
            else
            {
                GDIHelper.DrawCheckBox(g, roundRect);
            }
            Color forceColor = base.Enabled ? ForeColor : SkinManager.CurrentSkin.UselessColor;

            GDIHelper.DrawImageAndString(g, rect, null, Size.Empty, Text, Font, forceColor);
            switch (base.CheckState)
            {
            case CheckState.Checked:
                GDIHelper.DrawCheckedStateByImage(g, rectangle);
                break;

            case CheckState.Indeterminate:
            {
                Rectangle rect2 = rectangle;
                rect2.Inflate(-3, -3);
                Color color = Color.FromArgb(46, 117, 35);
                GDIHelper.FillRectangle(g, new RoundRectangle(rect2, _CornerRadius), color);
                break;
            }
            }
        }
Exemple #25
0
        protected virtual void OnDrawFirstSubItem(DrawListViewSubItemEventArgs e, Graphics g)
        {
            TextFormatFlags formatFlags = GetFormatFlags(e.Header.TextAlign);
            Rectangle       bounds      = e.Bounds;
            Image           image       = null;
            Size            empty       = Size.Empty;
            Rectangle       rectangle   = new Rectangle(bounds.X, bounds.Y, 0, 0);
            Rectangle       rect        = rectangle;
            Rectangle       bounds2     = bounds;
            int             num         = 2;

            if (e.Item.ListView.CheckBoxes)
            {
                rectangle.X     += num * 2;
                rectangle.Y      = bounds.Top + (bounds.Height - _CheckBoxSize.Height) / 2;
                rectangle.Width  = _CheckBoxSize.Width;
                rectangle.Height = _CheckBoxSize.Height;
                rect.X           = rectangle.Right;
                bounds2.X        = rectangle.Right;
                bounds2.Width   -= _CheckBoxSize.Width - num * 2;
                GDIHelper.DrawCheckBox(g, new RoundRectangle(rectangle, 1));
                if (e.Item.Checked)
                {
                    GDIHelper.DrawCheckedStateByImage(g, rectangle);
                }
            }
            if (e.Item.ImageList != null && e.Item.ImageIndex >= 0)
            {
                image   = e.Item.ImageList.Images[e.Item.ImageIndex];
                empty   = e.Item.ImageList.ImageSize;
                rect.X += num * 3;
                rect.Y  = bounds.Y + num;
                int num4 = rect.Height = (rect.Width = bounds.Height - num * 2);
                bounds2.X      = rect.Right;
                bounds2.Width -= num4 - num * 2;
                GDIHelper.DrawImage(g, rect, image, empty);
            }
            bounds2.X     += num;
            bounds2.Width -= num * 2;
            Color foreColor = ((e.ItemState & ListViewItemStates.Selected) == ListViewItemStates.Selected) ? Color.White : e.SubItem.ForeColor;

            TextRenderer.DrawText(g, e.SubItem.Text, _Font, bounds2, foreColor, formatFlags);
        }
Exemple #26
0
        protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
        {
            ToolStrip toolStrip = e.ToolStrip;
            Graphics  graphics  = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle affectedBounds = e.AffectedBounds;

            if (toolStrip is ToolStripDropDown)
            {
                affectedBounds.Width--;
                affectedBounds.Height--;
                RoundRectangle roundRect = new RoundRectangle(cornerRadius: new CornerRadius(MenuCornerRadius), rect: affectedBounds);
                GDIHelper.DrawPathBorder(graphics, roundRect, MenuBorderColor);
            }
            else
            {
                base.OnRenderToolStripBorder(e);
            }
        }
Exemple #27
0
        protected override void OnRenderItemCheck(ToolStripItemImageRenderEventArgs e)
        {
            ToolStrip toolStrip = e.ToolStrip;
            Graphics  graphics  = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle imageRectangle = e.ImageRectangle;

            if (toolStrip is ToolStripDropDown)
            {
                imageRectangle.Width  -= 2;
                imageRectangle.Height -= 2;
                RoundRectangle roundRect = new RoundRectangle(imageRectangle, 1);
                GDIHelper.DrawCheckBox(graphics, roundRect);
                GDIHelper.DrawCheckedStateByImage(graphics, imageRectangle);
            }
            else
            {
                base.OnRenderItemCheck(e);
            }
        }
Exemple #28
0
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            int      num      = (BorderWidth > 0) ? BorderWidth : 0;
            Graphics graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            GradientColor  color     = new GradientColor(_BackBeginColor, _BackEndColor, null, null);
            Rectangle      rect      = new Rectangle(0, 0, base.Size.Width - 1, base.Size.Height - 1);
            RoundRectangle roundRect = new RoundRectangle(rect, new CornerRadius(_CornerRadius));

            GDIHelper.FillRectangle(graphics, roundRect, color);
            if (_BorderWidth > 0)
            {
                rect.X      += _BorderWidth - 1;
                rect.Y      += _BorderWidth - 1;
                rect.Width  -= _BorderWidth - 1;
                rect.Height -= _BorderWidth - 1;
                GDIHelper.DrawPathBorder(graphics, new RoundRectangle(rect, new CornerRadius(_CornerRadius)), _BorderColor, BorderWidth);
            }
        }
Exemple #29
0
        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            base.OnPaintBackground(e);
            Graphics graphics = e.Graphics;

            GDIHelper.InitializeGraphics(graphics);
            Rectangle textRect  = GetTextRect(graphics);
            Color     foreColor = base.Enabled ? _CaptionColor : SkinManager.CurrentSkin.UselessColor;

            switch (_BorderStyle)
            {
            case EnumBorderStyle.QQStyle:
                DrawQQStyleBorder(graphics, textRect);
                break;

            case EnumBorderStyle.Default:
                DrawDefaultBorder(graphics, textRect);
                break;
            }
            TextRenderer.DrawText(graphics, Text, _CaptionFont, textRect, foreColor, TextFormatFlags.Default);
        }
Exemple #30
0
            protected override void WndProc(ref Message m)
            {
                base.WndProc(ref m);
                int msg = m.Msg;

                if (msg == 15 || msg == 71)
                {
                    IntPtr dC = Win32.GetDC(m.HWnd);
                    try
                    {
                        using (Graphics graphics = Graphics.FromHdc(dC))
                        {
                            Rectangle rect = _owner.HeaderEndRect();
                            GDIHelper.InitializeGraphics(graphics);
                            GDIHelper.FillPath(graphics, new RoundRectangle(rect, 0), _owner._HeaderBeginColor, _owner._HeaderEndColor);
                            rect.Width--;
                            rect.Height--;
                            if (_owner.BorderStyle != 0)
                            {
                                using (Pen pen = new Pen(_owner.BorderColor))
                                {
                                    graphics.DrawLine(pen, new Point(rect.Left, rect.Bottom), new Point(rect.Left, rect.Top));
                                    graphics.DrawLine(pen, new Point(rect.Right, rect.Bottom), new Point(rect.Right, rect.Top));
                                    graphics.DrawLine(pen, new Point(rect.Left, rect.Bottom), new Point(rect.Right, rect.Bottom));
                                }
                            }
                            else
                            {
                                GDIHelper.DrawPathBorder(graphics, new RoundRectangle(rect, 0), _owner._BorderColor);
                            }
                        }
                    }
                    finally
                    {
                        Win32.ReleaseDC(m.HWnd, dC);
                    }
                }
            }