//######################################################################################### //★★★★★★★ http://www.cnpopsoft.com [华普软件] ★★★★★★★ //★★★★★★★ 华普软件 - VB & C#.NET 专业论文与源码荟萃! ★★★★★★★ //######################################################################################### /* * Copyright ?2005, Mathew Hall * All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. */ using System; using System.Drawing; using System.Windows.Forms; using XPTable.Models; namespace XPTable.Events { #region Delegates /// /// Represents the method that will handle the PaintHeader events of a Table /// public delegate void PaintHeaderEventHandler(object sender, PaintHeaderEventArgs e); #endregion #region PaintHeaderEventArgs /// /// Provides data for the PaintHeader event /// public class PaintHeaderEventArgs : PaintEventArgs { #region Class Data /// /// The Column to be painted /// private Column column; /// /// The Table the Column's ColumnModel belongs to /// private Table table; /// /// The index of the Column in the Table's ColumnModel /// private int columnIndex; /// /// The style of the Column header /// private ColumnHeaderStyle headerStyle; /// /// The rectangle in which to paint /// private Rectangle headerRect; /// /// Indicates whether the user has done the paining for us /// private bool handled; #endregion #region Constructor /// /// Initializes a new instance of the PaintHeaderEventArgs class with /// the specified graphics and clipping rectangle /// /// The Graphics used to paint the Column header /// The Rectangle that represents the rectangle /// in which to paint public PaintHeaderEventArgs(Graphics g, Rectangle headerRect) : this(g, null, null, -1, ColumnHeaderStyle.None, headerRect) { } /// /// Initializes a new instance of the PaintHeaderEventArgs class with /// the specified graphics, column, table, column index, header style /// and clipping rectangle /// /// The Graphics used to paint the Column header /// The Column to be painted /// The Table the Column's ColumnModel belongs to /// The index of the Column in the Table's ColumnModel /// The style of the Column's header /// The Rectangle that represents the rectangle /// in which to paint public PaintHeaderEventArgs(Graphics g, Column column, Table table, int columnIndex, ColumnHeaderStyle headerStyle, Rectangle headerRect) : base(g, headerRect) { this.column = column; this.table = table; this.columnIndex = columnIndex; this.column = column; this.headerStyle = headerStyle; this.headerRect = headerRect; this.handled = false; } #endregion #region Properties /// /// Gets the Column to be painted /// public Column Column { get { return this.column; } } /// /// /// /// internal void SetColumn(Column column) { this.column = column; } /// /// Gets the Table the Column's ColumnModel belongs to /// public Table Table { get { return this.table; } } /// /// /// /// internal void SetTable(Table table) { this.table = table; } /// /// Gets the index of the Column in the Table's ColumnModel /// public int ColumnIndex { get { return this.columnIndex; } } /// /// /// /// internal void SetColumnIndex(int columnIndex) { this.columnIndex = columnIndex; } /// /// Gets the style of the Column's header /// public ColumnHeaderStyle HeaderStyle { get { return this.headerStyle; } } /// /// /// /// internal void SetHeaderStyle(ColumnHeaderStyle headerStyle) { this.headerStyle = headerStyle; } /// /// Gets the column header's bounding rectangle /// public Rectangle HeaderRect { get { return this.headerRect; } } /// /// /// /// internal void SetHeaderRect(Rectangle headerRect) { this.headerRect = headerRect; } /// /// Gets or sets a value indicating whether the BeforePaintHeader /// event was handled /// public bool Handled { get { return this.handled; } set { this.handled = value; } } #endregion } #endregion }