Imports DigitalData.Modules.Messaging Public Class frmFlowForm Private WithEvents Watcher As ClassClipboardWatcher = ClassClipboardWatcher.Singleton Private ActiveModules As List(Of String) Public Event ClipboardChanged As EventHandler(Of IDataObject) Public Sub New(ActiveModules As List(Of String)) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. Me.ActiveModules = ActiveModules End Sub Private Sub frmFlowForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' === Set Form Properties === AllowDrop = True ShowInTaskbar = False SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.Default) ' === Register As Event Listener === EventBus.Instance.Register(Me) End Sub Private Sub frmFlowForm_Closed(sender As Object, e As EventArgs) Handles Me.Closed EventBus.Instance.Unregister(Me) End Sub Private Sub frmFlowForm_Click(sender As Object, e As EventArgs) Handles Me.MouseClick EventBus.Instance.PostEvent(New OnFlowFormInteractionEvent(OnFlowFormInteractionEvent.FlowFormInteraction.Click)) End Sub Public Sub OnEvent(e As OnFlowFormStateChangedEvent) SetFlowFormState(e.State) End Sub Public Sub SetFlowFormState(State As OnFlowFormStateChangedEvent.FlowFormState) Select Case State Case OnFlowFormStateChangedEvent.FlowFormState.HasSearchResults SetBitmap(My.Resources.CW_GEFUNDEN_klein) Case Else SetBitmap(My.Resources.ZOOFLOW_Home_klein) End Select End Sub Private Sub frmFlowForm_DragOver(sender As Object, e As DragEventArgs) Handles Me.DragOver If ActiveModules.Contains(ClassConstants.MODULE_GLOBAL_INDEXER) Then e.Effect = DragDropEffects.None Else If e.Data.GetDataPresent(DataFormats.FileDrop) Then ' Handle file dragged from Windows e.Effect = DragDropEffects.Copy SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.HasSearchResults) ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then ' Handle a message dragged from Outlook e.Effect = DragDropEffects.Copy SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.HasSearchResults) ElseIf e.Data.GetDataPresent("aryFileGroupDescriptor") AndAlso (e.Data.GetDataPresent("FileContents")) Then ' Handle a message dragged from Thunderbird? e.Effect = DragDropEffects.Copy SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.HasSearchResults) Else ' Otherwise, do not handle e.Effect = DragDropEffects.None End If End If End Sub Private Sub frmFlowForm_DragLeave(sender As Object, e As EventArgs) Handles Me.DragLeave SetFlowFormState(OnFlowFormStateChangedEvent.FlowFormState.Default) End Sub Private Sub Watcher_ClipboardChanged(sender As Object, e As IDataObject) Handles Watcher.ClipboardChanged If ActiveModules.Contains(ClassConstants.MODULE_CLIPBOARDWATCHER) Then RaiseEvent ClipboardChanged(sender, e) End If End Sub '''' '''' DragDrop Support '''' 'Protected Overrides Sub WndProc(ByRef m As Message) ' If m.Msg = &H84 Then ' m.Result = CType(2, IntPtr) ' Return ' End If ' MyBase.WndProc(m) 'End Sub End Class