Mouse Events |
Scroll |
The Thereforeā¢ AddIn system provides 9 mouse events in the category dialog. There are Up, Down, and DoubleClick events for the left, middle and right mouse button. You are given information which field has been clicked as well as all the index data in the category dialog. You can use these events e.g. to display custom input dialogs and controls.
The example below registers for all possible mouse events. When the "Info" field is clicked the event type (type of the click) is set as text.
Thereforeā¢ Capture Thereforeā¢ Navigator Thereforeā¢ Viewer Extension for Windows Explorer (Save documents to Thereforeā¢ from Windows Explorer). Add-in for Microsoft Office (Save documents to Thereforeā¢ from Microsoft Office applications). |
Requirements and Assumptions: AddIn project configured and registered as described in "AddIn Creation in C#" or "Add In Creation in VB .NET". Visual Basic Imports System.Runtime.InteropServices Imports System.IO Imports Therefore.API
<Guid("943B240B-B061-4832-A987-E6907A910AFC"), ComVisible(True), ClassInterface(ClassInterfaceType.None)> _ Public Class MouseEventAddIn Implements ITheAddIn
Public Sub GetHandledEvents(ByVal client As TheClientType, ByVal eventSet As TheEventSet) Implements ITheAddIn.GetHandledEvents ' Register for all events eventSet.Add(TheEventType.CategoryFieldLeftMouseDown) eventSet.Add(TheEventType.CategoryFieldLeftMouseUp) eventSet.Add(TheEventType.CategoryFieldLeftDoubleClick) eventSet.Add(TheEventType.CategoryFieldRightMouseDown) eventSet.Add(TheEventType.CategoryFieldRightMouseUp) eventSet.Add(TheEventType.CategoryFieldRightDoubleClick) eventSet.Add(TheEventType.CategoryFieldMiddleMouseDown) eventSet.Add(TheEventType.CategoryFieldMiddleMouseUp) eventSet.Add(TheEventType.CategoryFieldMiddleDoubleClick) End Sub
Public Function HandleEvent(ByVal e As TheEvent) As Integer Implements ITheAddIn.HandleEvent If (e.ObjectName = "Info") Then e.CategoryDialog.IndexData.SetValueByFieldNo(e.ObjectID, e.EventType.ToString) e.CategoryDialog.Update() End If Return 0 End Function
End Class C# using System; using System.Runtime.InteropServices; using Therefore.API;
namespace AddInSamples { [Guid("F2C921F6-469C-4E4E-AB9F-22AC8CC43826"), ComVisible(true), ClassInterface(ClassInterfaceType.None)] public class MouseEventAddIn : ITheAddIn { public void GetHandledEvents(TheClientType client, TheEventSet eventSet) { // Register for all events eventSet.Add(TheEventType.CategoryFieldLeftMouseDown); eventSet.Add(TheEventType.CategoryFieldLeftMouseUp); eventSet.Add(TheEventType.CategoryFieldLeftDoubleClick); eventSet.Add(TheEventType.CategoryFieldRightMouseDown); eventSet.Add(TheEventType.CategoryFieldRightMouseUp); eventSet.Add(TheEventType.CategoryFieldRightDoubleClick); eventSet.Add(TheEventType.CategoryFieldMiddleMouseDown); eventSet.Add(TheEventType.CategoryFieldMiddleMouseUp); eventSet.Add(TheEventType.CategoryFieldMiddleDoubleClick); }
public int HandleEvent(TheEvent e) { if (e.ObjectName == "Info") { e.CategoryDialog.IndexData.SetValueByFieldNo(e.ObjectID, e.EventType.ToString()); e.CategoryDialog.Update(); }
return 0; } } } |