'Declaration Public Interface IUIElementDrawFilter
public interface IUIElementDrawFilter
The following sample code illustrates how to modify the drawing of a row’s cell area borders for an UltraGrid control.
Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid ' Implement the IUIElementDrawFilter interface on a class ' (in this case the form) Public Class Form1 Inherits System.Windows.Forms.Form Implements Infragistics.Win.IUIElementDrawFilter Private borderPen As System.Drawing.Pen Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' Set the grid’s DrawFilter property to the object that ' implements the IUIElementDrawFilter interface. Me.UltraGrid1.DrawFilter = Me ' Create a pen to use in the filter Me.borderPen = New Pen(Color.DarkGoldenrod) End Sub Public Function GetPhasesToFilter(ByRef drawParams As Infragistics.Win.UIElementDrawParams) As Infragistics.Win.DrawPhase Implements Infragistics.Win.IUIElementDrawFilter.GetPhasesToFilter ' If the element being drawn is a RowCellAreaUIElement we're interested in ' drawing its borders only. If (TypeOf (drawParams.Element) Is RowCellAreaUIElement) Then Return Infragistics.Win.DrawPhase.BeforeDrawBorders Else Return Infragistics.Win.DrawPhase.None End If End Function Public Function DrawElement(ByVal drawPhase As Infragistics.Win.DrawPhase, ByRef drawParams As Infragistics.Win.UIElementDrawParams) As Boolean Implements Infragistics.Win.IUIElementDrawFilter.DrawElement ' This will only be called for the BeforeDrawBorders phase of a ' RowCellAreaUIElement based on the flags returned from GetPhasesToFilter. Dim elementRect As Rectangle ' Get the element's rect elementRect = drawParams.Element.Rect ' Draw a border along the top edge of the element. drawParams.Graphics.DrawLine(Me.borderPen, _ elementRect.Location, _ New Point(elementRect.Right, elementRect.Top)) ' Return true to prevent the element from drawing its borders normally. Return True End Function
using System.Diagnostics; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; // Implement the IUIElementDrawFilter interface on a class // (in this case the form) public class Form1 : System.Windows.Forms.Form, Infragistics.Win.IUIElementDrawFilter { private System.Drawing.Pen borderPen; private void Form1_Load(object sender, System.EventArgs e) { // Set the grid’s DrawFilter property to the object that // implements the IUIElementDrawFilter interface. this.ultraGrid1.DrawFilter = this; // Create a pen to use in the filter this.borderPen = new Pen(Color.DarkGoldenrod); } public Infragistics.Win.DrawPhase GetPhasesToFilter(ref Infragistics.Win.UIElementDrawParams drawParams) { // If the element being drawn is a RowCellAreaUIElement we're interested in // drawing its borders only. if (drawParams.Element is RowCellAreaUIElement) return Infragistics.Win.DrawPhase.BeforeDrawBorders; else return Infragistics.Win.DrawPhase.None; } public bool DrawElement(Infragistics.Win.DrawPhase drawPhase, ref Infragistics.Win.UIElementDrawParams drawParams) { // This will only be called for the BeforeDrawBorders phase of a // RowCellAreaUIElement based on the flags returned from GetPhasesToFilter. // Draw a border along the top edge of the element. Rectangle elementRect = drawParams.Element.Rect; drawParams.Graphics.DrawLine( this.borderPen, elementRect.Location, new Point(elementRect.Right, elementRect.Top)); // Return true to prevent the element from drawing its borders normally. return true; }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2