Source/Ribbon/ThemedButtonItemPainter.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Drawing;
namespace DevComponents.DotNetBar
{
/// <summary>
/// Summary description for ThemedButtonItemPainter.
/// </summary>
public class ThemedButtonItemPainter
{
public static void PaintButton(ButtonItem button, ItemPaintArgs pa)
{
System.Drawing.Graphics g=pa.Graphics;
ThemeToolbar theme=pa.ThemeToolbar;
ThemeToolbarParts part=ThemeToolbarParts.Button;
ThemeToolbarStates state=ThemeToolbarStates.Normal;
Color textColor=ButtonItemPainterHelper.GetTextColor(button,pa);
Rectangle rectImage=Rectangle.Empty;
Rectangle itemRect=button.DisplayRectangle;
Font font=null;
CompositeImage image=button.GetImage();
font=button.GetFont(pa, false);
eTextFormat format= GetStringFormat(button, pa, image);
bool bSplitButton=(button.SubItems.Count>0 || button.PopupType==ePopupType.Container) && button.ShowSubItems && !button.SubItemsRect.IsEmpty;
if(bSplitButton)
part=ThemeToolbarParts.SplitButton;
// Calculate image position
if(image!=null)
{
if(button.ImagePosition==eImagePosition.Top || button.ImagePosition==eImagePosition.Bottom)
rectImage=new Rectangle(button.ImageDrawRect.X,button.ImageDrawRect.Y,itemRect.Width,button.ImageDrawRect.Height);
else
rectImage=new Rectangle(button.ImageDrawRect.X,button.ImageDrawRect.Y,button.ImageDrawRect.Width,button.ImageDrawRect.Height);
rectImage.Offset(itemRect.Left,itemRect.Top);
rectImage.Offset((rectImage.Width-button.ImageSize.Width)/2,(rectImage.Height-button.ImageSize.Height)/2);
rectImage.Width=button.ImageSize.Width;
rectImage.Height=button.ImageSize.Height;
}
// Set the state and text brush
if(!ButtonItemPainter.IsItemEnabled(button, pa))
{
state=ThemeToolbarStates.Disabled;
}
else if(button.IsMouseDown)
{
state=ThemeToolbarStates.Pressed;
}
else if(button.IsMouseOver && button.Checked)
{
state=ThemeToolbarStates.HotChecked;
}
后面还有 175 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。