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
 | 
						|
 |