property HasFormFieldAt[X, Y: Single]: Boolean; // read only
HasFormFieldAt izvodi proveru pogotka na trenutno aktivnoj strani: vraća
True kada data koordinata (X, Y) padne unutar bilo kog
pravougaonika widget anotacije. Koordinate su u PDF korisničkom prostoru — isti
koordinatni sistem kao PageWidth / PageHeight, sa ishodištem u
donjem levom uglu, X raste udesno, Y raste naviše, jedinice u tačkama
(1/72 inča)
Svojstvo vraća False kada je Active False,
kada dokument nema AcroForm widgete ili kada data koordinata promaši
svaki pravougaonik widgeta. To je omot konstantnog vremena oko
PDFium-ove FPDFPage_HasFormFieldAtPoint — idealno za povratnu
informaciju pomeranja miša / lebdenja u pregledaču gde se vrednost propituje
mnogo puta u sekundi
Provera pogotka uzima u obzir samo pravougaonik widgeta — ne granice izgleda;
dugmad ili potvrdna polja čiji je vidljivi glif manji od pravougaonika widgeta
i dalje prijavljuju True za ceo pravougaonik. Kombinujte sa
FormFieldInfoAt[X, Y] da pribavite zapis poklopljenog polja kada
provera pogotka potvrdi da je kursor nad poljem; taj obrazac izbegava teže
pribavljanje informacija pri svakom događaju pomeranja miša
TPdfView.DeviceToPage ili sami primenite obrnuto Zoom / pomeraj
klizanja pre pozivanja ovog svojstvaFormFieldInfoAt kada
treba da znate koje je polje pogođeno
procedure TForm1.PdfView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var PageX, PageY: Double;
begin
PdfView1.DeviceToPage(X, Y, PageX, PageY);
if Pdf1.HasFormFieldAt[PageX, PageY] then
PdfView1.Cursor := crHandPoint
else
PdfView1.Cursor := crDefault;
end;