InkCollector.CursorInRange Event
InkCollector.CursorInRange Event |
Occurs when a cursor enters the physical detection range (proximity) of the tablet context.
Definition
Visual Basic .NET Public Event CursorInRange As InkCollectorCursorInRangeEventHandler C# public event InkCollectorCursorInRangeEventHandler CursorInRange; Managed C++ public: __event InkCollectorCursorInRangeEventHandler CursorInRange;
Remarks
The event handler receives an argument of type InkCollectorCursorInRangeEventArgs that contains data about this event.
When you create an InkCollectorCursorInRangeEventHandler delegate, you identify the method that will handle the event. To associate the event with your event handler, add an instance of the delegate to the event. The event handler is called whenever the event occurs, unless you remove the delegate. The default event interest is on.
The CursorInRange event is fired even when in select or erase mode, not just when in ink mode. This requires that you monitor the editing mode (which you are responsible for setting) and be aware of the mode before interpreting the event. The advantage of this requirement is greater freedom to innovate on the platform through greater awareness of platform events.
Examples
[C#]
This C# example demonstrates using several event handlers to display the state of the cursors, cursor buttons, and tablets. This simple application has a status bar with three panels (sbPanelCursor, sbPanelButton, and sbPanelTablet), where simple messages appear when events are received.
//... using Microsoft.Ink; //... public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.StatusBar statusBar1; private System.Windows.Forms.StatusBarPanel sbPanelCursor; private System.Windows.Forms.StatusBarPanel sbPanelButton; private System.Windows.Forms.StatusBarPanel sbPanelTablet; InkCollector theInkCollector; //... public Form1() { //... // Initialize the InkCollector with this form's // window handle. theInkCollector = new InkCollector(Handle); theInkCollector.Enabled = true; // Add event handlers for cursor and button events. theInkCollector.CursorButtonUp += new InkCollectorCursorButtonUpEventHandler(CursorButtonUp_Event); theInkCollector.CursorButtonDown += new InkCollectorCursorButtonDownEventHandler(CursorButtonDown_Event); theInkCollector.CursorOutOfRange += new InkCollectorCursorOutOfRangeEventHandler(CursorOutOfRange_Event); theInkCollector.CursorInRange += new InkCollectorCursorInRangeEventHandler(CursorInRange_Event); theInkCollector.CursorDown += new InkCollectorCursorDownEventHandler(CursorDown_Event); theInkCollector.TabletAdded += new InkCollectorTabletAddedEventHandler(TabletAdded_Event); theInkCollector.TabletRemoved += new InkCollectorTabletRemovedEventHandler(TabletRemoved_Event); } //... private void CursorButtonUp_Event(object sender, InkCollectorCursorButtonUpEventArgs e) { sbPanelButton.Text = e.Button.Name + " Button Up"; } private void CursorButtonDown_Event(object sender, InkCollectorCursorButtonDownEventArgs e) { sbPanelButton.Text = e.Button.Name + " Button Down"; } private void CursorOutOfRange_Event(object sender, InkCollectorCursorOutOfRangeEventArgs e) { sbPanelCursor.Text = e.Cursor.Name + " Out of Range"; } private void CursorInRange_Event(object sender, InkCollectorCursorInRangeEventArgs e) { sbPanelCursor.Text = e.Cursor.Name + " In Range"; } private void CursorDown_Event(object sender, InkCollectorCursorDownEventArgs e) { sbPanelCursor.Text = e.Cursor.Name + " Down"; } private void TabletAdded_Event(object sender, InkCollectorTabletAddedEventArgs e) { sbPanelTablet.Text = "Tablet added: " + e.Tablet.Name; } private void TabletRemoved_Event(object sender, InkCollectorTabletRemovedEventArgs e) { sbPanelTablet.Text = "Tablet removed: " + e.TabletId; } //...
[Visual Basic .NET]
This Microsoft® Visual Basic® .NET example demonstrates using several event handlers to display the state of the cursors, cursor buttons, and tablets. This simple application has a status bar with three panels (sbPanelCursor, sbPanelButton, and sbPanelTablet), where simple messages appear when events are received.
Imports Microsoft.Ink Public Class Form1 Inherits System.Windows.Forms.Form Dim theInkCollector As InkCollector #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call theInkCollector = New InkCollector(Handle) theInkCollector.Enabled = True AddHandler theInkCollector.CursorButtonUp, AddressOf CursorButtonUp_Event AddHandler theInkCollector.CursorButtonDown, AddressOf CursorButtonDown_Event AddHandler theInkCollector.CursorOutOfRange, AddressOf CursorOutOfRange_Event AddHandler theInkCollector.CursorInRange, AddressOf CursorInRange_Event AddHandler theInkCollector.CursorDown, AddressOf CursorDown_Event AddHandler theInkCollector.TabletAdded, AddressOf TabletAdded_Event AddHandler theInkCollector.TabletRemoved, AddressOf TabletRemoved_Event End Sub '... #End Region Private Sub CursorButtonUp_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorCursorButtonUpEventArgs) sbPanelButton.Text = e.Button.Name + " Button Up" End Sub Private Sub CursorButtonDown_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorCursorButtonDownEventArgs) sbPanelButton.Text = e.Button.Name + " Button Down" End Sub Private Sub CursorOutOfRange_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorCursorOutOfRangeEventArgs) sbPanelCursor.Text = e.Cursor.Name + " Out of Range" End Sub Private Sub CursorInRange_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorCursorInRangeEventArgs) sbPanelCursor.Text = e.Cursor.Name + " In Range" End Sub Private Sub CursorDown_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorCursorDownEventArgs) sbPanelCursor.Text = e.Cursor.Name + " Down" End Sub Private Sub TabletAdded_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorTabletAddedEventArgs) sbPanelTablet.Text = "Tablet Added: " + e.Tablet.Name End Sub Private Sub TabletRemoved_Event( _ ByVal sender As Object, _ ByVal e As InkCollectorTabletRemovedEventArgs) sbPanelTablet.Text = "Tablet Removed: " + e.TabletId End Sub End Class
See Also