WorkflowDesignerMessageFilter Třída

Definice

Upozornění

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

Poskytuje základní třídu pro všechny filtry zpráv pracovního postupu.

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
Dědičnost
WorkflowDesignerMessageFilter
Atributy
Implementuje

Příklady

Následující příklad kódu ukazuje vlastní filtr zpráv návrháře, který je odvozen z WorkflowDesignerMessageFilter. Třída s názvem CustomMessageFilterpřepíše řadu základních metod třídy, včetně OnMouseDown, OnMouseMove, OnMouseUp, OnMouseDoubleClickOnMouseEnter, OnMouseHover, OnMouseLeave, OnDragEnter, , , OnDragOvera OnKeyDown.

Tento příklad kódu je součástí ukázky sady BASIC Designer Hosting SDK ze souboru DesignerShell.cs. Další informace najdete v tématu Základní hostování 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

Poznámky

Poznámka

V tomto materiálu jsou popsané zastaralé typy a obory názvů. Další informace najdete v tématu Zastaralé typy ve Windows Workflow Foundation 4.5.

Návrhář pracovního postupu poskytuje vzor návrhu Strategy pro vytváření nahraditelných objektů filtru zpráv pro zpracování událostí.

Odvozujte z WorkflowDesignerMessageFilter třídy a vytvořte filtry zpráv, které mohou reagovat na události návrháře pracovního postupu, jako jsou operace přetažení, operace rozložení a malování a další události návrháře. Pokud chcete do řetězu filtrů zpráv přidat vlastní filtr zpráv, zavolejte AddDesignerMessageFilterWorkflowView nebo přepište MessageFilters virtuální vlastnost pro vlastní kořenovou aktivitu a přidejte vlastní filtr zpráv do kolekce vrácené ze základní třídy.

Konstruktory

WorkflowDesignerMessageFilter()
Zastaralé.

Při implementaci v odvozené třídě inicializuje instanci objektu WorkflowDesignerMessageFilter.

Vlastnosti

MessageHitTestContext
Zastaralé.

Získá, HitTestInfo který popisuje kontext objektu WorkflowDesignerMessageFilter.

ParentView
Zastaralé.

Získá, WorkflowView která je přidružena k WorkflowDesignerMessageFilter.

Metody

Dispose()
Zastaralé.

Uvolní prostředky používané nástrojem WorkflowDesignerMessageFilter.

Dispose(Boolean)
Zastaralé.

Uvolní nespravované prostředky používané WorkflowDesignerMessageFilter nástrojem a volitelně uvolní spravované prostředky.

Equals(Object)
Zastaralé.

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Finalize()
Zastaralé.

Pokusí se uvolnit prostředky voláním Dispose(false) před uvolněním objektu uvolňováním paměti.

GetHashCode()
Zastaralé.

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()
Zastaralé.

Získá aktuální Type instanci.

(Zděděno od Object)
Initialize(WorkflowView)
Zastaralé.

Inicializuje s WorkflowDesignerMessageFilter přidruženým WorkflowView.

MemberwiseClone()
Zastaralé.

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnDragDrop(DragEventArgs)
Zastaralé.

Nastane, když je tlačítko myši uvolněno nad objektem během operace přetažení.

OnDragEnter(DragEventArgs)
Zastaralé.

Nastane, když ukazatel myši přejde do hranic objektu během operace přetažení.

OnDragLeave()
Zastaralé.

Nastane, když ukazatel myši opustí hranice objektu během operace přetažení.

OnDragOver(DragEventArgs)
Zastaralé.

Nastane, když se ukazatel myši pohybuje v mezích objektu během operace přetažení.

OnGiveFeedback(GiveFeedbackEventArgs)
Zastaralé.

Vyvolá se při operaci přetažení.

OnKeyDown(KeyEventArgs)
Zastaralé.

Nastane při stisknutí klávesy.

OnKeyUp(KeyEventArgs)
Zastaralé.

Nastane při uvolnění klíče.

OnLayout(LayoutEventArgs)
Zastaralé.

Nastane, když je třeba přemístit podřízené objekty.

OnMouseCaptureChanged()
Zastaralé.

Nastane, když se změní položky vybrané přetažením myši.

OnMouseDoubleClick(MouseEventArgs)
Zastaralé.

Nastane, když pokliknete myší.

OnMouseDown(MouseEventArgs)
Zastaralé.

Nastane při kliknutí na tlačítko myši.

OnMouseEnter(MouseEventArgs)
Zastaralé.

Nastane, když ukazatel myši přejde do hranic objektu.

OnMouseHover(MouseEventArgs)
Zastaralé.

Nastane, když se ukazatel myši pozastaví nad objektem.

OnMouseLeave()
Zastaralé.

Nastane, když ukazatel myši opustí hranice objektu.

OnMouseMove(MouseEventArgs)
Zastaralé.

Nastane, když se ukazatel myši pohybuje v mezích objektu.

OnMouseUp(MouseEventArgs)
Zastaralé.

Nastane při uvolnění tlačítka myši.

OnMouseWheel(MouseEventArgs)
Zastaralé.

Nastane při pohybu kolečka myši.

OnPaint(PaintEventArgs, Rectangle, AmbientTheme)
Zastaralé.

Nastane při přijetí zprávy malování.

OnPaintWorkflowAdornments(PaintEventArgs, Rectangle, AmbientTheme)
Zastaralé.

Nastane, když by měl pracovní postup překreslovat jeho doplňky.

OnQueryContinueDrag(QueryContinueDragEventArgs)
Zastaralé.

Vyvolá se při operaci přetažení.

OnScroll(ScrollBar, Int32)
Zastaralé.

Nastane, když se uživatel posune v návrháři pracovního postupu.

OnShowContextMenu(Point)
Zastaralé.

Nastane, když má pracovní postup zobrazit místní nabídku.

OnThemeChange()
Zastaralé.

Nastane při změně motivu pracovního postupu.

ProcessMessage(Message)
Zastaralé.

Nastane, když musí být zpracována nezpracovaná zpráva Win32.

ToString()
Zastaralé.

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také