Exemplo n.º 1
0
 protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
 {
     if (renderer is ToolStripProfessionalRenderer)
     {
         Color text   = GetThemeColor("ToolStripItem.ForeColor");
         Color back   = GetThemeColor("ToolStripItem.BackColor");
         Color border = GetThemeColor("ToolStripItem.BorderColor");
         if (e.Item.Enabled)
         {
             if (!e.Item.IsOnDropDown && e.Item.Selected)
             {
                 Rectangle           rect  = new Rectangle(0, 0, e.Item.Width, e.Item.Height);
                 Rectangle           rect2 = new Rectangle(1, 1, e.Item.Width - 2, e.Item.Height - 2);
                 LinearGradientBrush b     = new LinearGradientBrush(rect, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_White : back, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_Blue : back, LinearGradientMode.Vertical);
                 e.Graphics.FillRectangle(b, rect);
                 Rectangle rect3 = new Rectangle(rect2.Left - 1, rect2.Top - 1, rect2.Width + 1, rect2.Height + 1);
                 Rectangle rect4 = new Rectangle(rect3.Left + 1, rect3.Top + 1, rect3.Width - 2, rect3.Height - 2);
                 e.Graphics.DrawRectangle(new Pen(border == Color.Empty ? DockDrawHelper.ColorSelectedBG_Border : border), rect3);
                 e.Graphics.DrawRectangle(new Pen(back == Color.Empty ? DockDrawHelper.ColorSelectedBG_White : back), rect4);
             }
             else if (e.Item.IsOnDropDown && e.Item.Selected)
             {
                 Rectangle           rect  = new Rectangle(3, 1, e.Item.Width - 4, e.Item.Height - 2);
                 Rectangle           rect2 = new Rectangle(4, 2, e.Item.Width - 6, e.Item.Height - 4);
                 LinearGradientBrush b     = new LinearGradientBrush(rect, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_White : back, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_Blue : back, LinearGradientMode.Vertical);
                 SolidBrush          b2    = new SolidBrush(border == Color.Empty ? DockDrawHelper.ColorSelectedBG_Border : border);
                 e.Graphics.FillRectangle(b, rect);
                 DockDrawHelper.DrawRoundedRectangle(e.Graphics, rect.Left - 1, rect.Top - 1, rect.Width, rect.Height + 1, 3, border == Color.Empty ? DockDrawHelper.ColorSelectedBG_Border : border);
                 DockDrawHelper.DrawRoundedRectangle(e.Graphics, rect2.Left - 1, rect2.Top - 1, rect2.Width, rect2.Height + 1, 3, back == Color.Empty ? DockDrawHelper.ColorSelectedBG_White : back);
                 e.Item.ForeColor = text;
             }
             if (((ToolStripMenuItem)e.Item).DropDown.Visible && !e.Item.IsOnDropDown)
             {
                 Color back2   = GetThemeColor("ToolStripMenu.TitleBackColor");
                 Color border2 = GetThemeColor("ToolStripMenu.TitleBorderColor");
                 if (back2 != Color.Empty && border2 != Color.Empty)
                 {
                     e.Graphics.FillRectangle(new SolidBrush(back2), new Rectangle(0, 0, e.Item.Width, e.Item.Height));
                     e.Graphics.DrawRectangle(new Pen(border2), 0, 0, e.Item.Width - 1, e.Item.Height);
                 }
                 else
                 {
                     renderer.DrawMenuItemBackground(e);
                 }
             }
         }
     }
     else
     {
         renderer.DrawMenuItemBackground(e);
     }
 }
Exemplo n.º 2
0
 protected override void OnRenderMenuItemBackground(System.Windows.Forms.ToolStripItemRenderEventArgs e)
 {
     if (currentRenderer != null)
     {
         currentRenderer.DrawMenuItemBackground(e);
         return;
     }
     base.OnRenderMenuItemBackground(e);
 }
Exemplo n.º 3
0
 protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
 {
     if (_currentRenderer != null)
     {
         _currentRenderer.DrawMenuItemBackground(e);
     }
     else
     {
         base.OnRenderMenuItemBackground(e);
     }
 }
Exemplo n.º 4
0
 protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
 {
     renderer.DrawMenuItemBackground(e);
 }
 protected override void OnPaint(PaintEventArgs e)
 {
     if (base.Owner != null)
     {
         ToolStripRenderer renderer = base.Renderer;
         Graphics          g        = e.Graphics;
         renderer.DrawMenuItemBackground(new ToolStripItemRenderEventArgs(g, this));
         Color menuText = SystemColors.MenuText;
         if (base.IsForeColorSet)
         {
             menuText = this.ForeColor;
         }
         else if (!this.IsTopLevel || ToolStripManager.VisualStylesEnabled)
         {
             if (this.Selected || this.Pressed)
             {
                 menuText = SystemColors.HighlightText;
             }
             else
             {
                 menuText = SystemColors.MenuText;
             }
         }
         bool flag = this.RightToLeft == RightToLeft.Yes;
         ToolStripMenuItemInternalLayout internalLayout = base.InternalLayout as ToolStripMenuItemInternalLayout;
         if ((internalLayout != null) && internalLayout.UseMenuLayout)
         {
             if ((this.CheckState != System.Windows.Forms.CheckState.Unchecked) && internalLayout.PaintCheck)
             {
                 Rectangle checkRectangle = internalLayout.CheckRectangle;
                 if (!internalLayout.ShowCheckMargin)
                 {
                     checkRectangle = internalLayout.ImageRectangle;
                 }
                 if (checkRectangle.Width != 0)
                 {
                     renderer.DrawItemCheck(new ToolStripItemImageRenderEventArgs(g, this, this.CheckedImage, checkRectangle));
                 }
             }
             if ((this.DisplayStyle & ToolStripItemDisplayStyle.Text) == ToolStripItemDisplayStyle.Text)
             {
                 renderer.DrawItemText(new ToolStripItemTextRenderEventArgs(g, this, this.Text, base.InternalLayout.TextRectangle, menuText, this.Font, flag ? ContentAlignment.MiddleRight : ContentAlignment.MiddleLeft));
                 bool showShortcutKeys = this.ShowShortcutKeys;
                 if (!base.DesignMode)
                 {
                     showShortcutKeys = showShortcutKeys && !this.HasDropDownItems;
                 }
                 if (showShortcutKeys)
                 {
                     renderer.DrawItemText(new ToolStripItemTextRenderEventArgs(g, this, this.GetShortcutText(), base.InternalLayout.TextRectangle, menuText, this.Font, flag ? ContentAlignment.MiddleLeft : ContentAlignment.MiddleRight));
                 }
             }
             if (this.HasDropDownItems)
             {
                 ArrowDirection arrowDirection = flag ? ArrowDirection.Left : ArrowDirection.Right;
                 Color          arrowColor     = (this.Selected || this.Pressed) ? SystemColors.HighlightText : SystemColors.MenuText;
                 arrowColor = this.Enabled ? arrowColor : SystemColors.ControlDark;
                 renderer.DrawArrow(new ToolStripArrowRenderEventArgs(g, this, internalLayout.ArrowRectangle, arrowColor, arrowDirection));
             }
             if ((internalLayout.PaintImage && ((this.DisplayStyle & ToolStripItemDisplayStyle.Image) == ToolStripItemDisplayStyle.Image)) && (this.Image != null))
             {
                 renderer.DrawItemImage(new ToolStripItemImageRenderEventArgs(g, this, base.InternalLayout.ImageRectangle));
             }
         }
         else
         {
             if ((this.DisplayStyle & ToolStripItemDisplayStyle.Text) == ToolStripItemDisplayStyle.Text)
             {
                 renderer.DrawItemText(new ToolStripItemTextRenderEventArgs(g, this, this.Text, base.InternalLayout.TextRectangle, menuText, this.Font, base.InternalLayout.TextFormat));
             }
             if (((this.DisplayStyle & ToolStripItemDisplayStyle.Image) == ToolStripItemDisplayStyle.Image) && (this.Image != null))
             {
                 renderer.DrawItemImage(new ToolStripItemImageRenderEventArgs(g, this, base.InternalLayout.ImageRectangle));
             }
         }
     }
 }