This documentation is archived and is not being maintained.

TextSelection.AnchorPoint Property

Gets the origin point of the selection.

Namespace: EnvDTE
Assembly: EnvDTE (in envdte.dll)

VirtualPoint AnchorPoint { get; }
/** @property */
VirtualPoint get_AnchorPoint ()

function get AnchorPoint () : VirtualPoint

Property Value

A VirtualPoint object.

Although TextPoint objects indicate the location of the selected text in the Editor window, they do not mark the location in the buffer. Virtual space — the area beyond the end of the line — is also tracked only in the Editor window. Consequently, when you use an EditPoint in the text buffer to modify text, what happens to the selected text is not defined. For example a command might start with selected text, get edit points, and then change the buffer. To guarantee the selected text is in a certain location, you must explicitly place the selected text in that location at the end of your command.

Sub AnchorPointExample()
    ' Before running this example, open a text document.
    Dim objSel As TextSelection = DTE.ActiveDocument.Selection
    Dim objAnchor As VirtualPoint = objSel.AnchorPoint
    ' objAnchor is "live", tied to the position of the actual selection, 
    ' so it will reflect any changes. iCol and iRow are created here to 
    ' save a "snapshot" of the anchor point's position at this time.
    Dim iCol As Long = objAnchor.DisplayColumn
    Dim iRow As Long = objAnchor.Line
    ' As the selection is extended, the active point moves but the anchor 
    ' point remains in place.
    objSel.StartOfDocument(True)
    objSel.EndOfDocument(True)

    If (iCol = objAnchor.DisplayColumn And iRow = objAnchor.Line) Then
        MsgBox("The anchor point has remained in place at row " & iRow & ", display column " & iCol)
    End If
End Sub
Show: