Source/Ribbon/Office2003RibbonTabItemPainter.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;

namespace DevComponents.DotNetBar
{
	/// <summary>
	/// Summary description for Office2003RibbonTabItemPainter.
	/// </summary>
	internal class Office2003RibbonTabItemPainter:Office2003ButtonItemPainter
	{
		/// <summary>
		/// Paints state of the button, either hot, pressed or checked
		/// </summary>
		/// <param name="button"></param>
		/// <param name="pa"></param>
		/// <param name="image"></param>
		public override void PaintButtonMouseOver(ButtonItem button, ItemPaintArgs pa, CompositeImage image, Rectangle r)
		{
			PaintButtonCheck(button,pa,image,r);
		}

        public override void PaintButtonBackground(ButtonItem button, ItemPaintArgs pa, CompositeImage image)
		{
            bool isOnMenu = IsOnMenu(button, pa);
			if(isOnMenu)
				base.PaintButtonBackground(button,pa, image);
			else
				PaintButtonCheck(button,pa,image,button.DisplayRectangle);
		}

		public override void PaintButtonCheck(ButtonItem button, ItemPaintArgs pa, CompositeImage image, Rectangle r)
		{
            bool isOnMenu = IsOnMenu(button, pa);
			if(isOnMenu)
			{
				base.PaintButtonCheck(button,pa,image,r);
				return;
			}

			// TODO: Cleanup code here, tabs were drawn for every state that code is still left
			if(!button.IsMouseOver && !button.Checked)
				return;

			Color topColor=pa.Colors.BarBackground2;
			Color bottomColor=pa.Colors.BarBackground;
			Color borderColor=pa.Colors.BarFloatingBorder;
			int angle=pa.Colors.BarBackgroundGradientAngle;
			
			if(button.IsMouseOver && !button.Checked)
			{
				topColor=pa.Colors.ItemHotBackground2;
				bottomColor=pa.Colors.ItemHotBackground;
				angle=pa.Colors.ItemHotBackgroundGradientAngle;
			}
			else if(button.Checked)
			{
				topColor=Color.White;//pa.Colors.BarBackground2;
				bottomColor=pa.Colors.BarBackground; //pa.Colors.BarBackground;
后面还有 111 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。