Source/Ribbon/Office2007ButtonItemPainter.cs
(开头部分) 37KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar.Rendering;
using System;
namespace DevComponents.DotNetBar
{
internal class Office2007ButtonItemPainter : Office2003ButtonItemPainter, IOffice2007Painter
{
#region Private Variables
private int m_CornerSize = 2;
private Office2007ColorTable m_ColorTable = null; //new Office2007ColorTable();
private static RoundRectangleShapeDescriptor _DefaultOffice2007Shape = new RoundRectangleShapeDescriptor(2);
#endregion
#region Implementation
private bool IsOffice2003Rendering(ButtonItem button, ItemPaintArgs pa)
{
if (button.ColorTable == eButtonColor.Flat || pa.Owner is DotNetBarManager)
return true;
return false;
}
/// <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)
{
if (IsOffice2003Rendering(button, pa))
{
base.PaintButtonMouseOver(button, pa, image, r);
return;
}
//PaintState(button, pa, image, r, button.IsMouseDown);
}
public override void PaintButtonCheck(ButtonItem button, ItemPaintArgs pa, CompositeImage image, Rectangle r)
{
if (IsOffice2003Rendering(button, pa))
{
base.PaintButtonCheck(button, pa, image, r);
return;
}
bool isOnMenu = IsOnMenu(button, pa);
if (isOnMenu)
base.PaintButtonCheck(button, pa, image, r);
else
PaintState(button, pa, image, r, button.IsMouseDown);
}
protected virtual void PaintState(ButtonItem button, ItemPaintArgs pa, CompositeImage image, Rectangle r, bool isMouseDown)
{
if (r.IsEmpty)
后面还有 777 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。