WorkflowDesignerMessageFilter クラス

定義

注意事項

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

すべてのワークフロー メッセージ フィルターの基本クラスを提供します。

public ref class WorkflowDesignerMessageFilter abstract : IDisposable
public abstract class WorkflowDesignerMessageFilter : IDisposable
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowDesignerMessageFilter : IDisposable
type WorkflowDesignerMessageFilter = class
    interface IDisposable
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowDesignerMessageFilter = class
    interface IDisposable
Public MustInherit Class WorkflowDesignerMessageFilter
Implements IDisposable
継承
WorkflowDesignerMessageFilter
属性
実装

WorkflowDesignerMessageFilter から派生したカスタム デザイナー メッセージ フィルターのコード例を、次に示します。 CustomMessageFilter という名前のクラスは、その基本クラスの多数のメソッドをオーバーライドします。オーバーライドされるメソッドには、OnMouseDownOnMouseMoveOnMouseUpOnMouseDoubleClickOnMouseEnterOnMouseHoverOnMouseLeaveOnDragEnterOnDragOverOnKeyDown があります。

このコード例は、DesignerShell.cs ファイルから抜粋した Basic Designer Hosting の SDK サンプルの一部です。 詳細については、「基本的なDesigner ホスティング」を参照してください。

internal sealed class CustomMessageFilter : WorkflowDesignerMessageFilter
{
    #region Members and Constructor

    private bool mouseDown;
    private IServiceProvider serviceProvider;
    private WorkflowView workflowView;
    private WorkflowDesignerLoader loader;

    public CustomMessageFilter(IServiceProvider provider, WorkflowView workflowView, WorkflowDesignerLoader loader)
    {
        this.serviceProvider = provider;
        this.workflowView = workflowView;
        this.loader = loader;
    }

    #endregion

    #region MessageFilter Overridables

    protected override bool OnMouseDown(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        this.mouseDown = true;
        return false;
    }

    protected override bool OnMouseMove(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        if (mouseDown)
        {
            workflowView.ScrollPosition = new Point(eventArgs.X, eventArgs.Y);
        }
        return false;
    }

    protected override bool OnMouseUp(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseDoubleClick(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseEnter(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseHover(MouseEventArgs eventArgs)
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseLeave()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnMouseWheel(MouseEventArgs eventArgs)
    {
        mouseDown = false;
        return true;
    }

    protected override bool OnMouseCaptureChanged()
    {
        //Allow other components to process this event by not returning true.
        mouseDown = false;
        return false;
    }

    protected override bool OnDragEnter(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragOver(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnDragLeave()
    {
        return true;
    }

    protected override bool OnDragDrop(DragEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnGiveFeedback(GiveFeedbackEventArgs gfbevent)
    {
        return true;
    }

    protected override bool OnQueryContinueDrag(QueryContinueDragEventArgs qcdevent)
    {
        return true;
    }

    protected override bool OnKeyDown(KeyEventArgs eventArgs)
    {
        if (eventArgs.KeyCode == Keys.Delete)
        {
            ISelectionService selectionService = (ISelectionService)serviceProvider.GetService(typeof(ISelectionService));
            if (selectionService != null && selectionService.PrimarySelection is CodeActivity)
            {
                CodeActivity codeActivityComponent = (CodeActivity)selectionService.PrimarySelection;
                CompositeActivity parentActivity = codeActivityComponent.Parent;
                if (parentActivity != null)
                {
                    parentActivity.Activities.Remove(codeActivityComponent);
                    this.ParentView.Update();
                }
                loader.RemoveActivityFromDesigner(codeActivityComponent);
            }
        }
        return true;
    }

    protected override bool OnKeyUp(KeyEventArgs eventArgs)
    {
        return true;
    }

    protected override bool OnShowContextMenu(Point menuPoint)
    {
        return true;
    }

    #endregion
}
    Friend NotInheritable Class CustomMessageFilter
        Inherits WorkflowDesignerMessageFilter

#Region "Members and Constructor"

        Private mouseDown As Boolean
        Private serviceProvider As IServiceProvider
        Private workflowView As WorkflowView
        Private loader As WorkflowDesignerLoader

        Public Sub New(ByVal provider As IServiceProvider, ByVal workflowView As WorkflowView, ByVal loader As WorkflowDesignerLoader)
            Me.serviceProvider = provider
            Me.workflowView = workflowView
            Me.loader = loader
        End Sub

#End Region

#Region "WorkflowDesignerMessageFilter Overridables"

        Protected Overrides Function OnMouseDown(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = True
            Return False
        End Function

        Protected Overrides Function OnMouseMove(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            If mouseDown Then
                workflowView.ScrollPosition = New Point(eventArgs.X, eventArgs.Y)
            End If
            Return False
        End Function

        Protected Overrides Function OnMouseUp(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseDoubleClick(ByVal eventArgs As MouseEventArgs) As Boolean
            mouseDown = False
            Return True
        End Function

        Protected Overrides Function OnMouseEnter(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseHover(ByVal eventArgs As MouseEventArgs) As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseLeave() As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnMouseWheel(ByVal eventArgs As MouseEventArgs) As Boolean
            mouseDown = False
            Return True
        End Function

        Protected Overrides Function OnMouseCaptureChanged() As Boolean
            ' Allow other components to process this event by not returning true.
            mouseDown = False
            Return False
        End Function

        Protected Overrides Function OnDragEnter(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragOver(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragLeave() As Boolean
            Return True
        End Function

        Protected Overrides Function OnDragDrop(ByVal eventArgs As DragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnGiveFeedback(ByVal gfbevent As GiveFeedbackEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnQueryContinueDrag(ByVal qcdevent As QueryContinueDragEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnKeyDown(ByVal eventArgs As KeyEventArgs) As Boolean
            If eventArgs.KeyCode = Keys.Delete Then
                Dim selectionService As ISelectionService = CType(serviceProvider.GetService(GetType(ISelectionService)), ISelectionService)
                If selectionService IsNot Nothing AndAlso TypeOf selectionService.PrimarySelection Is CodeActivity Then
                    Dim codeActivityComponent As CodeActivity = CType(selectionService.PrimarySelection, CodeActivity)
                    Dim parentActivity As CompositeActivity = codeActivityComponent.Parent
                    If parentActivity IsNot Nothing Then
                        parentActivity.Activities.Remove(codeActivityComponent)
                        Me.ParentView.Update()
                    End If
                    loader.RemoveActivityFromDesigner(codeActivityComponent)
                End If
            End If
            Return True
        End Function

        Protected Overrides Function OnKeyUp(ByVal eventArgs As KeyEventArgs) As Boolean
            Return True
        End Function

        Protected Overrides Function OnShowContextMenu(ByVal menuPoint As Point) As Boolean
            Return True
        End Function

#End Region

    End Class

注釈

注意

ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。

ワークフロー デザイナーは、イベント処理用に置換可能なメッセージ フィルター オブジェクトを作成するための Strategy デザイン パターンを提供します。

WorkflowDesignerMessageFilter クラスから派生して、ワークフロー デザイナー イベント (ドラッグ操作、レイアウトとペイント操作、その他のデザイナー イベント) に応答できるメッセージ フィルターを作成します。 カスタム メッセージ フィルターをメッセージ フィルター チェーンに追加するには、WorkflowViewAddDesignerMessageFilter を呼び出すか、カスタム ルート アクティビティで MessageFilters 仮想プロパティをオーバーライドして、基本クラスから返されたコレクションにカスタム メッセージ フィルターを追加します。

コンストラクター

WorkflowDesignerMessageFilter()
古い.

派生クラスとして実装された場合、WorkflowDesignerMessageFilter のインスタンスを初期化します。

プロパティ

MessageHitTestContext
古い.

HitTestInfo のコンテキストを示す WorkflowDesignerMessageFilter を取得します。

ParentView
古い.

WorkflowView に関連付けられている WorkflowDesignerMessageFilter を取得します。

メソッド

Dispose()
古い.

WorkflowDesignerMessageFilter で使用したリソースを解放します。

Dispose(Boolean)
古い.

WorkflowDesignerMessageFilter によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

Equals(Object)
古い.

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()
古い.

ガベージ コレクションでオブジェクトがクリアされる前に、Dispose(false) を呼び出して、リソースの解放を試みます。

GetHashCode()
古い.

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
Initialize(WorkflowView)
古い.

関連付けられた WorkflowDesignerMessageFilter を使用して WorkflowView を初期化します。

MemberwiseClone()
古い.

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnDragDrop(DragEventArgs)
古い.

ドラッグ操作中にオブジェクト上でマウス ボタンが離されると発生します。

OnDragEnter(DragEventArgs)
古い.

ドラッグ操作中にマウス ポインターがオブジェクトの境界内に入ると発生します。

OnDragLeave()
古い.

ドラッグ操作中にマウス ポインターがオブジェクトの境界から出ると発生します。

OnDragOver(DragEventArgs)
古い.

ドラッグ操作中にマウス ポインターがオブジェクトの境界内を移動すると発生します。

OnGiveFeedback(GiveFeedbackEventArgs)
古い.

ドラッグ操作中に発生します。

OnKeyDown(KeyEventArgs)
古い.

キーが押されたときに発生します。

OnKeyUp(KeyEventArgs)
古い.

キーが離されたときに発生します。

OnLayout(LayoutEventArgs)
古い.

子オブジェクトを再配置する必要があるときに発生します。

OnMouseCaptureChanged()
古い.

マウスをドラッグして選択された項目が変わったときに発生します。

OnMouseDoubleClick(MouseEventArgs)
古い.

マウスがダブルクリックされたときに発生します。

OnMouseDown(MouseEventArgs)
古い.

マウス ボタンがクリックされると発生します。

OnMouseEnter(MouseEventArgs)
古い.

マウス ポインターがオブジェクトの境界内に入ったときに発生します。

OnMouseHover(MouseEventArgs)
古い.

マウス ポインターがオブジェクト上に置かれたときに発生します。

OnMouseLeave()
古い.

マウス ポインターがオブジェクトの境界から出たときに発生します。

OnMouseMove(MouseEventArgs)
古い.

マウス ポインターがオブジェクトの境界内で移動すると発生します。

OnMouseUp(MouseEventArgs)
古い.

マウス ボタンが離されると発生します。

OnMouseWheel(MouseEventArgs)
古い.

マウス ホイールが動くと発生します。

OnPaint(PaintEventArgs, Rectangle, AmbientTheme)
古い.

描画メッセージを受け取ると発生します。

OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme)
古い.

ワークフローが修飾を再描画する必要があるときに発生します。

OnQueryContinueDrag(QueryContinueDragEventArgs)
古い.

ドラッグ操作中に発生します。

OnScroll(ScrollBar, Int32)
古い.

ユーザーがワークフロー デザイナーでスクロールすると発生します。

OnShowContextMenu(Point)
古い.

ワークフローがコンテキスト メニューを表示する必要があるときに発生します。

OnThemeChange()
古い.

ワークフローのテーマが変更されたときに発生します。

ProcessMessage(Message)
古い.

未加工の Win32 メッセージを処理する必要があるときに発生します。

ToString()
古い.

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください