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.
|
Requirements and Assumptions:
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; } } } |