ImageEn, unit iexUserInteractions |
|
TIEPdfViewerInteraction.CharIndexToLine
Declaration
procedure CharIndexToLine(const CharIndex: Integer; out OutIndex: Integer; out OutLength: Integer);
Description
Converts the index of a character in the current page to the start and end character for the entire line.
If the method fails, OutLength will return 0.
Notes:
- CharIndex is zero-based
- To convert CharIndex/Length to a screen position, use
GetTextRects- To convert a screen position to a CharIndex, use
ScrToCharIndexExamples
// Show the text under the cursor
procedure TfrmMain.ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
charIndex, textIndex, textLength: Integer;
begin
charIndex := ImageEnView1.PdfViewer.ScrToCharIndex( X, Y );
ImageEnView1.PdfViewer.CharIndexToLine( charIndex, textIndex, textLength );
lblLine.Caption := ImageEnView1.PdfViewer.GetText( textIndex, textLength );
end;
// Output each line of text
var
idx, outIndex, outLength: Integer;
s: String;
begin
Memo1.Clear;
idx := 0;
While idx < MAXINT do // Infinite loop
begin
ImageEnView1.PdfViewer.CharIndexToLine( idx, outIndex, outLength );
if outLength = 0 then
BREAK;
s := ImageEnView1.PdfViewer.GetText( outIndex, outLength );
memo1.Lines.Add( Trim( s ));
idx := outIndex + outLength + 1;
end;
end;
See Also
-
CharIndexToWord-
SelectLine