Example #1
0
 private void DrawCaptionText(Graphics g, Rectangle textRect, string text, Font font, bool Effect,
                              Color EffetBack, int EffectWidth, Color FrmColor)
 {
     if (Effect)
     {
         var size  = TextRenderer.MeasureText(text, font);
         var image = SkinTools.ImageLightEffect(text, font, FrmColor, EffetBack, EffectWidth,
                                                new Rectangle(0, 0, textRect.Width, size.Height), true);
         g.DrawImage(image, textRect.X - (EffectWidth / 2), textRect.Y - (EffectWidth / 2));
     }
 }
Example #2
0
        private void setRegion()
        {
            if (this.radius > 0)
            {
                // Rectangle rectangle = new Rectangle(0, 0, base.Width, base.Height);
                //  this.graphicsPath = this.getRoundPath(rectangle, this.radius);
                //  base.Region = new Region(this.graphicsPath);

                SkinTools.CreateRegion(this, rectangle, this.radius, RoundStyle.All);
            }
            else
            {
                base.Region = null;
            }
        }
Example #3
0
        protected override void OnPaint(PaintEventArgs e)
        {
            var graphics = e.Graphics;

            // Share.GraphicSetup(graphics);
            //  base.OnPaint(e);
            //绘制质感的标题栏
            if (true)
            {
                var lgb = new LinearGradientBrush(CaptionRect, Share.LineTop, Share.LineBottom, 90f);
                graphics.FillRectangle(lgb, CaptionRect);
                lgb.Dispose();
                var p = new Pen(Share.Line, 1);
                graphics.DrawLine(p, new Point(0, CaptionRect.Height + 3),
                                  new Point(CaptionRect.Width, CaptionRect.Height + 3));
                //p.Color = Color.Blue;
                //  p.Width = 5;
                //  graphics.DrawLine(p, new Point(0, this.CaptionRect.Height + 1), new Point(this.CaptionRect.Width, this.CaptionRect.Height+1));
                p.Dispose();
            }
            //标题文字

            var size  = TextRenderer.MeasureText(Text, Font);
            var image = SkinTools.ImageLightEffect(Text, Font, ForeColor, Color.White, 4,
                                                   new Rectangle(0, 0, Width, size.Height), true);

            graphics.DrawImage(image, textRect.X - (4 / 2), textRect.Y - (4 / 2));
            //画图标
            if (Icon != null)
            {
                graphics.DrawIcon(Icon, IconRect);
            }
            //画关闭按钮
            graphics.DrawImage(btnImg, closeRect);
            //画边框
            var rect = ClientRectangle;

            rect.X      += 3;
            rect.Y      += 3;
            rect.Width  -= 7;
            rect.Height -= 7;
            using (var pen = new Pen(Color.DarkGray))
            {
                var path = DrawHelper.CreateRoundPathFPoint(rect, 2);
                graphics.DrawPath(pen, path);
                path.Dispose();
            }
        }
Example #4
0
        protected override void OnRenderSkinFormCaption(SkinFormCaptionRenderEventArgs e)
        {
            var graphics      = e.Graphics;
            var clipRectangle = e.ClipRectangle;
            var skinForm      = e.SkinForm;
            var iconRect      = skinForm.IconRect;
            var empty         = Rectangle.Empty;
            var controlBox    = skinForm.ControlBox;
            var flag2         = skinForm.ControlBox && skinForm.MinimizeBox;
            var flag3         = skinForm.ControlBox && skinForm.MaximizeBox;
            var flag4         = skinForm.ControlBox && skinForm.btnCustomImage != null;//skinForm.SysBottomVisibale;
            var num           = 0;

            if (controlBox)
            {
                num += skinForm.CloseBoxSize.Width + skinForm.ControlBoxOffset.X;
            }
            if (flag3)
            {
                num += skinForm.MaxSize.Width + skinForm.ControlBoxSpace;
            }
            if (flag2)
            {
                num += skinForm.MiniSize.Width + skinForm.ControlBoxSpace;
            }
            if (flag4)
            {
                num += skinForm.CustomSize.Width + skinForm.ControlBoxSpace;
            }
            // empty = new Rectangle(iconRect.Right + 3, skinForm.BorderPadding.Left + 3, ((clipRectangle.Width - iconRect.Right) - num) - 6, clipRectangle.Height - skinForm.BorderPadding.Left);//old
            empty = new Rectangle(iconRect.Right + 3, iconRect.Top, ((clipRectangle.Width - iconRect.Right) - num) - 6,
                                  clipRectangle.Height - skinForm.BorderPadding.Left);
            using (new AntiAliasGraphics(graphics))
            {
                DrawCaptionBackground(graphics, clipRectangle, e.Active);
                if (skinForm.ShowIcon && (skinForm.Icon != null))
                {
                    DrawIcon(graphics, iconRect, skinForm.Icon);
                }
                if (!string.IsNullOrEmpty(skinForm.Text))
                {
                    var effectBack = skinForm.EffectBack;
                    var titleColor = skinForm.TitleColor;
                    if (skinForm.TitleSuitColor)
                    {
                        if (SkinTools.ColorSlantsDarkOrBright(skinForm.BackColor))
                        {
                            titleColor = Color.White;
                            effectBack = Color.Black;
                        }
                        else
                        {
                            titleColor = Color.Black;
                            effectBack = Color.White;
                        }
                    }
                    DrawCaptionText(graphics, empty, skinForm.Text, skinForm.CaptionFont, skinForm.EffectCaption,
                                    effectBack, skinForm.EffectWidth, titleColor);
                }
            }
        }