Gets/sets the draw filter property
Syntax
Example
The following sample code illustrates how to modify the drawing of a row’s cell area borders for an UltraGrid control.
| Visual Basic | Copy Code |
|---|
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinGrid
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
Me.UltraGrid1.DrawFilter = Me
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 (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
Dim elementRect As Rectangle
elementRect = drawParams.Element.Rect
drawParams.Graphics.DrawLine(Me.borderPen, _
elementRect.Location, _
New Point(elementRect.Right, elementRect.Top))
Return True
End Function
|
| C# | Copy Code |
|---|
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’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;
}
|
See Also