78 lines
2.2 KiB
C#
78 lines
2.2 KiB
C#
#if FRAMEWORK20
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Drawing;
|
|
using DevComponents.DotNetBar.Rendering;
|
|
using System.Windows.Forms;
|
|
using DevComponents.DotNetBar;
|
|
|
|
namespace DevComponents.Editors
|
|
{
|
|
public class VisualCheckBox : VisualToggleButton
|
|
{
|
|
#region Private Variables
|
|
private Size _DefaultSize = new Size(13, 13);
|
|
#endregion
|
|
|
|
#region Events
|
|
#endregion
|
|
|
|
#region Constructor
|
|
#endregion
|
|
|
|
#region Internal Implementation
|
|
public override void PerformLayout(PaintInfo pi)
|
|
{
|
|
this.Size = new System.Drawing.Size(Dpi.Width(_DefaultSize.Width + 2), Dpi.Height(_DefaultSize.Height));
|
|
this.CalculatedSize = this.Size;
|
|
base.PerformLayout(pi);
|
|
}
|
|
|
|
protected override void OnPaint(PaintInfo p)
|
|
{
|
|
Graphics g = p.Graphics;
|
|
Size defaultSize = Dpi.Size(_DefaultSize);
|
|
Rectangle r = new Rectangle(RenderBounds.X + 1, RenderBounds.Y + (RenderBounds.Height - defaultSize.Height) / 2,
|
|
defaultSize.Width, defaultSize.Height);
|
|
|
|
|
|
Office2007CheckBoxItemPainter painter = PainterFactory.CreateCheckBoxItemPainter(null);
|
|
Office2007CheckBoxColorTable ctt = GetCheckBoxColorTable();
|
|
Office2007CheckBoxStateColorTable ct = ctt.Default;
|
|
if (!this.GetIsEnabled(p))
|
|
ct = ctt.Disabled;
|
|
else if (this.IsMouseDown)
|
|
ct = ctt.Pressed;
|
|
else if (this.IsMouseOver)
|
|
ct = ctt.MouseOver;
|
|
|
|
painter.PaintCheckBox(g, r,
|
|
ct, this.Checked ? CheckState.Checked : CheckState.Unchecked);
|
|
|
|
base.OnPaint(p);
|
|
}
|
|
|
|
private Office2007CheckBoxColorTable GetCheckBoxColorTable()
|
|
{
|
|
Office2007Renderer r = this.GetRenderer() as Office2007Renderer;
|
|
if (r != null)
|
|
{
|
|
return r.ColorTable.CheckBoxItem;
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
private DevComponents.DotNetBar.Rendering.BaseRenderer GetRenderer()
|
|
{
|
|
return DevComponents.DotNetBar.Rendering.GlobalManager.Renderer;
|
|
|
|
}
|
|
#endregion
|
|
|
|
}
|
|
}
|
|
#endif
|
|
|