ImageEn, unit iexPdfiumCore

TPdfFormFieldList.FindFormFieldAt

TPdfFormFieldList.FindFormFieldAt


Declaration

function FindFormFieldAt(Pt: TDPoint): Integer; overload;
function FindFormFieldAt(Pt: TPoint): Integer; overload;


Description

Returns the index of any form field found on the page at the specified position (in terms of PDF points).
Result will be -1 if no form fields are found.


PDF Page Points

Objects on a PDF page are specified in points that originate at the bottom-left, i.e. when X,Y = (0,0). The top-left of the page is specified by (PageWidth, PageHeight).
To convert PDF points to screen values, use PageToScr.



Example

// Select the clicked form field
procedure TfrmMain.ImageEnView1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
var
  idx: Integer;
  pt: TDPoint;
begin
  pt  := ImageEnView1.PdfViewer.ScrToPage( X, Y, True );
  idx := ImageEnView1.PdfViewer.FormFields.FindFormFieldAt( pt );
  if idx > -1 then
  begin
    ImageEnView1.PdfViewer.FormFields.HighlightedIndex := idx;
    ImageEnView1.Invalidate();
  end;
end;