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 算力,解读结果公开显示在下面。
还没有人解读过这个文件。