This documentation is archived and is not being maintained.

Cursor.DrawingAttributes Property

Gets or sets the drawing attributes to apply to ink as it is drawn.

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

public DrawingAttributes DrawingAttributes { get; set; }

Property Value

Type: Microsoft.Ink.DrawingAttributes
The DrawingAttributes object to apply to ink as it is drawn. If this object is null (Nothing in Microsoft Visual Basic .NET), the cursor uses the default drawing attributes of the ink collector object.

The drawing attributes specify the appearance of the stroke. For example, you can specify the width and color of ink.

Successive calls to the DrawingAttributes property change only the drawing attributes of new strokes. They do not apply to strokes that are already collected or being collected.


InkCollector.DefaultDrawingAttributes, InkOverlay.DefaultDrawingAttributes, or InkPicture.DefaultDrawingAttributes contain the drawing attributes that all cursors use unless they set their own DrawingAttributes property. For example, a new Cursor object on which DrawingAttributes is not set and an old Cursor object on which the DrawingAttributes is set to null (Nothing in Visual Basic .NET) both use DefaultDrawingAttributes.

A cursor can have different drawing attributes for each ink collector (InkCollector, InkOverlay, or InkPicture) with which it comes in contact. If you do not specify drawing attributes for a cursor, it uses the default drawing attributes of the ink collector. These default attributes are set with the DefaultDrawingAttributes property of the particular ink collector (InkCollector.DefaultDrawingAttributes, InkOverlay.DefaultDrawingAttributes, or [P:Microsoft.Ink.InkPicture. DefaultDrawingAttributes]).

In this example, 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.

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;

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.

.NET Framework

Supported in: 3.0