RaUI/Source/ryControls/WeifenLuo.WinFormsUI/ThemeVS2012/VS2012DockPaneCaptionInertButton.cs
zilinsoft 3262955f2f ### 2023-11-07更新
------
#### RaUIV4    V4.0.2311.0701
- *.[全新]整合了MyDb、ryControls、MyDb_MySQL等dll文件到RaUI一个项目。
- *.[新增]新增ApkOp类,可以轻松获取APK信息。
- *.[新增]新增JsonExt扩展类,让Json操作更简单。
- *.[新增]新增WebP类,可以支持webp格式的图片。
- *.[改进]ryQuickSQL中的AddField方法改为自动替换已存在的同名值。
- *.[修复]ryQuickSQL中的AddFieldCalc方法无法正常计算的BUG。
2023-11-07 16:37:53 +08:00

89 lines
2.8 KiB
C#

using System.ComponentModel;
using System.Drawing;
using WeifenLuo.WinFormsUI.Docking;
namespace WeifenLuo.WinFormsUI.ThemeVS2012
{
/// <summary>
///
/// </summary>
[ToolboxItem(false)]
public class VS2012DockPaneCaptionInertButton : InertButtonBase
{
private Bitmap _hovered;
private Bitmap _normal;
private Bitmap _active;
private Bitmap _pressed;
private Bitmap _hoveredActive;
private Bitmap _hoveredAutoHide;
private Bitmap _autoHide;
private Bitmap _pressedAutoHide;
/// <summary>
///
/// </summary>
/// <param name="dockPaneCaption"></param>
/// <param name="hovered"></param>
/// <param name="normal"></param>
/// <param name="pressed"></param>
/// <param name="hoveredActive"></param>
/// <param name="active"></param>
/// <param name="hoveredAutoHide"></param>
/// <param name="autoHide"></param>
/// <param name="pressedAutoHide"></param>
public VS2012DockPaneCaptionInertButton(DockPaneCaptionBase dockPaneCaption, Bitmap hovered, Bitmap normal, Bitmap pressed, Bitmap hoveredActive, Bitmap active, Bitmap hoveredAutoHide = null, Bitmap autoHide = null, Bitmap pressedAutoHide = null)
{
m_dockPaneCaption = dockPaneCaption;
_hovered = hovered;
_normal = normal;
_pressed = pressed;
_hoveredActive = hoveredActive;
_active = active;
_hoveredAutoHide = hoveredAutoHide ?? hoveredActive;
_autoHide = autoHide ?? active;
_pressedAutoHide = pressedAutoHide ?? pressed;
RefreshChanges();
}
private DockPaneCaptionBase m_dockPaneCaption;
private DockPaneCaptionBase DockPaneCaption
{
get { return m_dockPaneCaption; }
}
/// <summary>
///
/// </summary>
public bool IsAutoHide
{
get { return DockPaneCaption.DockPane.IsAutoHide; }
}
/// <summary>
///
/// </summary>
public bool IsActive
{
get { return DockPaneCaption.DockPane.IsActivePane; }
}
/// <summary>
///
/// </summary>
public override Bitmap Image
{
get { return IsActive ? IsAutoHide ? _autoHide : _active : _normal; }
}
/// <summary>
///
/// </summary>
public override Bitmap HoverImage
{
get { return IsActive ? IsAutoHide ? _hoveredAutoHide : _hoveredActive : _hovered; }
}
/// <summary>
///
/// </summary>
public override Bitmap PressImage
{
get { return IsAutoHide ? _pressedAutoHide : _pressed; }
}
}
}