バージョン

DrawPhase 列挙体

要素の描画操作のフェーズを識別します
シンタックス
'宣言
 
Public Enum DrawPhase 
   Inherits System.Enum
public enum DrawPhase : System.Enum 
メンバ
メンバ解説
AfterDrawBackColor要素の背景色が描画された後に呼び出されます。
AfterDrawBorders要素の境界線が描画された後に呼び出されます。
AfterDrawChildElements要素の子要素が描画された後に呼び出されます。
AfterDrawElement要素とその子要素の描画がすべて完了した後に呼び出されます。
AfterDrawForeground要素の前景が描画された後に呼び出されます。
AfterDrawImage要素の前景イメージが描画された後に呼び出されます。
AfterDrawImageBackground要素の背景イメージが描画された後に呼び出されます。
AfterDrawThemeシステムのテーマを使用して要素が表示された後に呼び出されます。
BeforeDrawBackColor要素のBackColorが描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、デフォルトのBackColor描画ができなくなります。
BeforeDrawBorders要素の境界線が描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、デフォルトの境界線の描画ができなくなります。
BeforeDrawChildElements要素の子要素が描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、子要素でデフォルトの描画操作を開始できなくなります。これはこれらの子要素でIUIElementDrawFilter.DrawElementが呼び出されないことを意味します。
BeforeDrawElement要素が描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、この要素ですべてのデフォルト描画ができません。また、子要素でデフォルトの描画操作を開始できなくなります。これは、IUIElementDrawFilter.DrawElementがこれらの子要素で呼び出されないことを意味します。
BeforeDrawFocus要素のフォーカスを示す四角形が描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、フォーカスのデフォルトの描画ができなくなります。
BeforeDrawForeground要素の前景 (テキストなど) が描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、デフォルトの前景の描画ができなくなります。
BeforeDrawImage要素の前景の画像が描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、デフォルトの画像の描画ができなくなります。
BeforeDrawImageBackground要素のImageBackgroundが描画される前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementメソッドからTrueを返すと、デフォルトのImageBackground描画ができなくなります。
BeforeDrawTheme要素がシステムのテーマを使用して描画しようとする前に呼び出されます。このフェーズでIUIElementDrawFilter.DrawElementからTrueを返すと、要素はシステムテーマを使用して描画しようとしなくなります。要素がシステムテーマを使用して自身を描画できる場合、メインの描画フェーズ (BackColor、ImageBackground、Borders、Image、およびForeground) は呼び出されません。
NoneIUIElementDrawFilter.GetPhasesToFilterで使用され、描画フェーズのフィルタリングが不要であることを示します。
使用例
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;

	}
参照