WorkflowDesignerMessageFilter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
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
という名前のクラスは、その基本クラスの多数のメソッドをオーバーライドします。オーバーライドされるメソッドには、OnMouseDown、OnMouseMove、OnMouseUp、OnMouseDoubleClick、OnMouseEnter、OnMouseHover、OnMouseLeave、OnDragEnter、OnDragOver、OnKeyDown があります。
このコード例は、DesignerShell.cs ファイルから抜粋した Basic Designer Hosting の SDK サンプルの一部です。 詳細については、「 Basic 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 クラスから派生して、ワークフロー デザイナー イベント (ドラッグ操作、レイアウトとペイント操作、その他のデザイナー イベント) に応答できるメッセージ フィルターを作成します。 カスタム メッセージ フィルターをメッセージ フィルター チェーンに追加するには、WorkflowView で AddDesignerMessageFilter を呼び出すか、カスタム ルート アクティビティで MessageFilters 仮想プロパティをオーバーライドして、基本クラスから返されたコレクションにカスタム メッセージ フィルターを追加します。
コンストラクター
WorkflowDesignerMessageFilter() |
古い.
派生クラスとして実装された場合、WorkflowDesignerMessageFilter のインスタンスを初期化します。 |
プロパティ
MessageHitTestContext |
古い.
HitTestInfo のコンテキストを示す WorkflowDesignerMessageFilter を取得します。 |
ParentView |
古い.
WorkflowView に関連付けられている WorkflowDesignerMessageFilter を取得します。 |
メソッド
Dispose() |
古い.
WorkflowDesignerMessageFilter で使用したリソースを解放します。 |
Dispose(Boolean) |
古い.
WorkflowDesignerMessageFilter によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 |
Equals(Object) |
古い.
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Finalize() |
古い.
ガベージ コレクションでオブジェクトがクリアされる前に、 |
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) |
適用対象
こちらもご覧ください
.NET