vb System.Workflow.ComponentModel.Design.WorkflowView.AddDesignerMessageFilter类(方法)实例源码

下面列出了vb System.Workflow.ComponentModel.Design.WorkflowView.AddDesignerMessageFilter 类(方法)源码代码实例,从而了解它的用法。

作者:VB.NET开发    项目:System.Workflow.ComponentModel.Desig   
Public Sub New()

    Me.loaderValue = New Loader()

    ' Create a Workflow Design Surface
    Me.surface = New DesignSurface()
    Me.surface.BeginLoad(Me.loaderValue)

    ' Get the Workflow Designer Host
    If Me.surface.GetService(GetType(IDesignerHost)) IsNot Nothing AndAlso TypeOf Me.surface.GetService(GetType(IDesignerHost)) Is IDesignerHost Then
        Me.Host = CType(Me.surface.GetService(GetType(IDesignerHost)), IDesignerHost)
    Else
        Return
    End If

    ' Create a Sequential Workflow by using the Workflow Designer Host
    SequentialWorkflow = CType(Host.CreateComponent(GetType(SequentialWorkflowActivity)), SequentialWorkflowActivity)
    SequentialWorkflow.Name = "CustomOutlookWorkflow"

    ' Create a Workflow View on the Workflow Design Surface
    Me.workflowView = New WorkflowView(CType(Me.surface, IServiceProvider))

    ' Add a message filter to the workflow view, to support panning
    Dim filter As MessageFilter = New MessageFilter(CType(Me.surface, IServiceProvider), Me.workflowView)
    Me.workflowView.AddDesignerMessageFilter(filter)

    ' Activate the Workflow View
    Me.Host.Activate()

    Me.workflowView.Dock = DockStyle.Fill
    Me.Controls.Add(workflowView)
    Me.Dock = DockStyle.Fill
End Sub

作者:VB.NET开发    项目:System.Workflow.ComponentModel.Desig   
Friend Class MessageFilter
    Inherits WorkflowDesignerMessageFilter

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

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

    Protected Overrides Function OnMouseDown(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
        ' Allow other components to process this event by not returning true.
        Me.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 (Me.mouseDown) Then
            Me.workflowView.ScrollPosition = New Point(eventArgs.X, eventArgs.Y)
        End If
        Return False
    End Function
    Protected Overrides Function OnMouseUp(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
        ' Allow other components to process this event by not returning true.
        Me.mouseDown = False
        Return False
    End Function

    Protected Overrides Function OnMouseDoubleClick(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
        Me.mouseDown = False
        Return True
    End Function

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

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

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

    Protected Overrides Function OnMouseWheel(ByVal eventArgs As System.Windows.Forms.MouseEventArgs) As Boolean
        Me.mouseDown = False
        Return True
    End Function

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

    Protected Overrides Function OnDragEnter(ByVal eventArgs As System.Windows.Forms.DragEventArgs) As Boolean
        Return True
    End Function

    Protected Overrides Function OnDragOver(ByVal eventArgs As System.Windows.Forms.DragEventArgs) As Boolean
        Return True
    End Function

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

    Protected Overrides Function OnDragDrop(ByVal eventArgs As System.Windows.Forms.DragEventArgs) As Boolean
        Return True
    End Function

    Protected Overrides Function OnGiveFeedback(ByVal eventArgs As System.Windows.Forms.GiveFeedbackEventArgs) As Boolean
        Return True
    End Function

    Protected Overrides Function OnQueryContinueDrag(ByVal eventArgs As System.Windows.Forms.QueryContinueDragEventArgs) As Boolean
        Return True
    End Function

    Protected Overrides Function OnKeyUp(ByVal eventArgs As System.Windows.Forms.KeyEventArgs) As Boolean
        Return True
    End Function

    Protected Overrides Function OnShowContextMenu(ByVal screenMenuPoint As System.Drawing.Point) As Boolean
        Return True
    End Function

    Protected Overrides Function OnKeyDown(ByVal eventArgs As System.Windows.Forms.KeyEventArgs) As Boolean
        If eventArgs.KeyCode = Keys.Delete Then
            Dim selectionService As ISelectionService = CType(Me.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
            End If
        End If
        Return True
    End Function
End Class


问题


面经


文章

微信
公众号

扫码关注公众号