InkOverlay.CursorInRange Event
Occurs when a cursor enters the physical detection range (proximity) of the tablet context.
Namespace: Microsoft.Ink
Assembly: Microsoft.Ink (in microsoft.ink.dll)
Syntax
'Declaration
Public Event CursorInRange As InkCollectorCursorInRangeEventHandler
'Usage
Dim instance As InkOverlay
Dim handler As InkCollectorCursorInRangeEventHandler
AddHandler instance.CursorInRange, handler
public event InkCollectorCursorInRangeEventHandler CursorInRange
public:
event InkCollectorCursorInRangeEventHandler^ CursorInRange {
void add (InkCollectorCursorInRangeEventHandler^ value);
void remove (InkCollectorCursorInRangeEventHandler^ value);
}
/** @event */
public void add_CursorInRange (InkCollectorCursorInRangeEventHandler value)
/** @event */
public void remove_CursorInRange (InkCollectorCursorInRangeEventHandler value)
In JScript, you can handle the events defined by a class, but you cannot define your own.
Not applicable.
Remarks
The event handler receives an argument of type InkCollectorCursorInRangeEventArgs containing data about this event.
When you create an InkCollectorCursorInRangeEventHandler delegate, you identify the method that handles 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 fires even when in select or erase mode, not only 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.
Example
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;
InkOverlay theInkOverlay;
//...
public Form1()
{
//...
// Initialize the InkOverlay with this form's
// window handle.
theInkOverlay = new InkOverlay(Handle);
theInkOverlay.Enabled = true;
// Add event handlers for cursor and button events.
theInkOverlay.CursorButtonUp += new InkCollectorCursorButtonUpEventHandler(CursorButtonUp_Event);
theInkOverlay.CursorButtonDown += new InkCollectorCursorButtonDownEventHandler(CursorButtonDown_Event);
theInkOverlay.CursorOutOfRange += new InkCollectorCursorOutOfRangeEventHandler(CursorOutOfRange_Event);
theInkOverlay.CursorInRange += new InkCollectorCursorInRangeEventHandler(CursorInRange_Event);
theInkOverlay.CursorDown += new InkCollectorCursorDownEventHandler(CursorDown_Event);
theInkOverlay.TabletAdded += new InkCollectorTabletAddedEventHandler(TabletAdded_Event);
theInkOverlay.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;
}
//...
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 theInkOverlay As InkOverlay
#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
theInkOverlay = New InkOverlay(Handle)
theInkOverlay.Enabled = True
AddHandler theInkOverlay.CursorButtonUp, AddressOf CursorButtonUp_Event
AddHandler theInkOverlay.CursorButtonDown, AddressOf CursorButtonDown_Event
AddHandler theInkOverlay.CursorOutOfRange, AddressOf CursorOutOfRange_Event
AddHandler theInkOverlay.CursorInRange, AddressOf CursorInRange_Event
AddHandler theInkOverlay.CursorDown, AddressOf CursorDown_Event
AddHandler theInkOverlay.TabletAdded, AddressOf TabletAdded_Event
AddHandler theInkOverlay.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
Platforms
Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.
Version Information
.NET Framework
Supported in: 3.0
See Also
Reference
InkOverlay Class
InkOverlay Members
Microsoft.Ink Namespace
Cursor
InkCollectorCursorInRangeEventArgs
InkOverlay.CursorOutOfRange
CursorButtonState