Share via


InkPicture.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 InkPicture 
Dim handler As InkCollectorCursorInRangeEventHandler 

AddHandler instance.CursorInRange, handler
public event InkCollectorCursorInRangeEventHandler CursorInRange
public:
 event InkCollectorCursorInRangeEventHandler^ CursorInRange {
    void add (InkCollectorCursorInRangeEventHandler^ value);
    void remove (InkCollectorCursorInRangeEventHandler^ value);
}
JScript does not support events.

Remarks

The event handler receives an argument of type InkCollectorCursorInRangeEventArgs that contains data about this event.

When you create a 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. For performance reasons, the default event interest is off but is turned on automatically if you add an event handler.

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.

Examples

In this example, when the CursorInRange event fires, a check is made to see if this is the first time that the InkPicture object has come in contact with this particular Cursor object. If so, the DrawingAttributes property is assigned with a clone of the DefaultDrawingAttributes property. This ensures that subsequent access to the DrawingAttributes property does not throw a null reference exception.

Private Sub mInkObject_CursorInRange(ByVal sender As Object, ByVal e As InkCollectorCursorInRangeEventArgs)
    Const MOUSE_CURSOR_ID As Integer = 1
    If e.NewCursor Then 
        ' mInkObject can be InkCollector, InkOverlay, or InkPicture
        e.Cursor.DrawingAttributes = mInkObject.DefaultDrawingAttributes.Clone()
        ' if this cursor is the mouse, we'll set color to red 
        If (MOUSE_CURSOR_ID = e.Cursor.Id) Then
            e.Cursor.DrawingAttributes.Color = Color.Red
        End If 

    End If 
End Sub
private void mInkObject_CursorInRange(object sender, InkCollectorCursorInRangeEventArgs e)
{
    const int MOUSE_CURSOR_ID = 1;

    if (e.NewCursor)
    {
        // mInkObject can be InkCollector, InkOverlay, or InkPicture
        e.Cursor.DrawingAttributes = mInkObject.DefaultDrawingAttributes.Clone();
        // if this cursor is the mouse, we'll set color to red 
        if (MOUSE_CURSOR_ID == e.Cursor.Id)
        {
            e.Cursor.DrawingAttributes.Color = Color.Red;
        }
    }
}

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

InkPicture Class

InkPicture Members

Microsoft.Ink Namespace

Cursor

InkCollectorCursorInRangeEventArgs

InkCollectorCursorInRangeEventHandler

InkPicture.OnCursorInRange

Tablet