InkCollector.CursorButtonDown Event

Occurs when the InkCollector object detects a CursorButton object that is down.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public Event CursorButtonDown As InkCollectorCursorButtonDownEventHandler
'Usage
Dim instance As InkCollector 
Dim handler As InkCollectorCursorButtonDownEventHandler 

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

Remarks

A button on a pen tip is down when the user lowers the pen to the digitizer and starts tracing a stroke. A button on a barrel is down when the button is pressed.

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

When you create an InkCollectorCursorButtonDownEventHandler 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.

When you press the right mouse button, you actually receive two CursorButtonDown events—one for right button pressed and one for left button pressed.

Examples

The following example shows how you can subscribe to the CursorInRange event, CursorButtonDown event, and the CursorButtonUp event in order to have the ink pointer (when inking with the mouse) be displayed using a different color than the ink itself.

When the CursorInRange event fires, a check is made to see if this is the first time that the InkCollector 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. If the mouse is being used, the ink color is set to red.

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;
        }
    }
}

When the CursorButtonDown event fires, a check is made to see if the Cursor object supplied to the event is the mouse. If so, the Color property is to set to blue.

Private Sub mInkObject_CursorButtonDown(ByVal sender As Object, ByVal e As InkCollectorCursorButtonDownEventArgs)
    Const MOUSE_CURSOR_ID As Integer = 1
    If (MOUSE_CURSOR_ID = e.Cursor.Id) Then
        e.Cursor.DrawingAttributes.Color = Color.Blue
    End If 
End Sub
private void mInkObject_CursorButtonDown(object sender, InkCollectorCursorButtonDownEventArgs e)
{
    const int MOUSE_CURSOR_ID = 1;

    if (MOUSE_CURSOR_ID == e.Cursor.Id)
    {
        e.Cursor.DrawingAttributes.Color = Color.Blue;
    }

}

When the CursorButtonUp event fires, a check is made to see if the Cursor object supplied to the event is the mouse. If so, the Color property is to set back to red.

Private Sub mInkObject_CursorButtonUp(ByVal sender As Object, ByVal e As InkCollectorCursorButtonUpEventArgs)
    Const MOUSE_CURSOR_ID As Integer = 1
    If (MOUSE_CURSOR_ID = e.Cursor.Id) Then
        e.Cursor.DrawingAttributes.Color = Color.Red
    End If 
End Sub
private void mInkObject_CursorButtonUp(object sender, InkCollectorCursorButtonUpEventArgs e)
{
    const int MOUSE_CURSOR_ID = 1;

    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

InkCollector Class

InkCollector Members

Microsoft.Ink Namespace

Cursor

CursorButton

InkCollector.CursorButtonUp

InkCollector.CursorDown