How do I convert offset values into text range in the EditControl ?
(Views :1140)

In other words, this article explains how to get the associated CoordinatePoint values from text offset values. You would have to convert offset values into VirtualPoints and then VirtualPoints to ParsePoints before converting them to CoordinatePoints. Please refer to the code snippets below that illustrate this.

C#
// Starting offset converted to virtual point
Point startVirtualPoint = this.editControl1.ConvertOffsetToVirtualPosition(startOffsetValue);
// Ending offset converted to virtual point
Point endVirtualPoint = this.editControl1.ConvertOffsetToVirtualPosition(endOffsetValue);
// Converting the VirtualPoints to ParsePoints
ParsePoint startParsePoint = new ParsePoint(startVirtualPoint.Y, startVirtualPoint.X, 0);
ParsePoint endParsePoint = new ParsePoint(endVirtualPoint.Y, endVirtualPoint.X, 0);
// Creating the associated CoordinatePoints that indicate the text range
CoordinatePoint startCoordinatePoint = new CoordinatePoint(this.editControl1.Parser as ILexemParser, startParsePoint, startVirtualPoint.Y, startVirtualPoint.X, true);
CoordinatePoint endCoordinatePoint = new CoordinatePoint(this.editControl1.Parser as ILexemParser, endParsePoint, endVirtualPoint.Y, endVirtualPoint.X, true);
C#
' Starting offset converted to virtual point
Dim startVirtualPoint As Point = Me.editControl1.ConvertOffsetToVirtualPosition(startOffsetValue)
' Ending offset converted to virtual point
Dim endVirtualPoint As Point = Me.editControl1.ConvertOffsetToVirtualPosition(endOffsetValue)
' Converting the VirtualPoints to ParsePoints
Dim startParsePoint As New ParsePoint(startVirtualPoint.Y, startVirtualPoint.X, 0)
Dim endParsePoint As New ParsePoint(endVirtualPoint.Y, endVirtualPoint.X, 0)
' Creating the associated CoordinatePoints that indicate the text range
Dim startCoordinatePoint As New CoordinatePoint(CType(Me.editControl1.Parser, ILexemParser), startParsePoint, startVirtualPoint.Y, startVirtualPoint.X, True)
Dim endCoordinatePoint As New CoordinatePoint(CType(Me.editControl1.Parser, ILexemParser), endParsePoint, endVirtualPoint.Y, endVirtualPoint.X, True)
::adCenter::