バージョン

DrawElement メソッド (IUIElementDrawFilter)

操作の特定のフェーズで、UIElementの描画操作の間に呼び出されます。これは、GetPhasesToFilterメソッドから返されるフェーズに限って呼び出されます。
シンタックス
'宣言
 
Function DrawElement( _
   ByVal drawPhase As DrawPhase, _
   ByRef drawParams As UIElementDrawParams _
) As Boolean
bool DrawElement( 
   DrawPhase drawPhase,
   ref UIElementDrawParams drawParams
)

パラメータ

drawPhase
現在の描画フェーズを識別するシングルビットを含みます。
drawParams
レンダリング情報を提供するために使用される UIElementDrawParams

戻り値の型

このメソッドからTrueを返すと、このフェーズが処理済みでデフォルトの処理がスキップされる必要があることを示します。
使用例
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;

	}
参照