Share via


ContextNode.Location Property

Gets the position and size of the ContextNode object.

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

Syntax

'Declaration
Public ReadOnly Property Location As AnalysisRegion
'Usage
Dim instance As ContextNode 
Dim value As AnalysisRegion 

value = instance.Location
public AnalysisRegion Location { get; }
public:
property AnalysisRegion^ Location {
    AnalysisRegion^ get ();
}
public function get Location () : AnalysisRegion

Property Value

Type: Microsoft.Ink.AnalysisRegion
The position and size of the ContextNode object.

Remarks

The ___location for a given ContextNode is determined by the union of the ___location of all strokes. If the ContextNode is a leaf node, strokes associated with that node are used. If the ContextNode is not a leaf node, all descendant leaf ContextNode objects are used to determine the ___location of the ContextNode.

If the ContextNode is not an ink leaf node or does not have any descendant ink leaf nodes, the node is considered to be a non-ink node or an ancestor of one or more non-ink nodes. The ___location of this type of node is determined by the ___location value of the non-ink leaf nodes.

Examples

This example draws a blue box around a ContextNode, cNode, whose strokes have been drawn on a Panel, theNotePanel.

' Convert bounds to pixels 
Dim panelGraphics As Graphics = Me.theNotesPanel.CreateGraphics()
Dim nodeBounds As Rectangle = currentNode.Location.GetBounds()
Dim upperLeft As Point = nodeBounds.Location
Dim lowerRight As New Point(nodeBounds.Right, nodeBounds.Bottom)
Me.theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, upperLeft)
Me.theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, lowerRight)

' Draw rectangle
panelGraphics.DrawRectangle(New Pen(Color.Blue), _
    upperLeft.X, upperLeft.Y, _
    lowerRight.X - upperLeft.X, lowerRight.Y - upperLeft.Y)
panelGraphics.Dispose()
             // Convert bounds to pixels
                Graphics panelGraphics = this.theNotesPanel.CreateGraphics();
                Rectangle nodeBounds = currentNode.Location.GetBounds();
                Point upperLeft = nodeBounds.Location;
                Point lowerRight = new Point(nodeBounds.Right, nodeBounds.Bottom);
                this.theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, ref upperLeft);
                this.theInkCollector.Renderer.InkSpaceToPixel(panelGraphics, ref lowerRight);

                // Draw rectangle
                panelGraphics.DrawRectangle(new Pen(Color.Blue),
                    upperLeft.X, upperLeft.Y, lowerRight.X - upperLeft.X,
                    lowerRight.Y - upperLeft.Y);
                panelGraphics.Dispose();

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

ContextNode Class

ContextNode Members

Microsoft.Ink Namespace

Microsoft.Ink.AnalysisRegion