property HasFormFieldAt[X, Y: Single]: Boolean; // read only
HasFormFieldAt na trenutno aktivni strani izvede preizkus zadetka: vrne
True, kadar podana koordinata (X, Y) pade v pravokotnik
katere koli opombe gradnika. Koordinate so v uporabniškem prostoru PDF — isti
koordinatni sistem kot PageWidth / PageHeight, z izhodiščem
spodaj levo, X narašča v desno, Y narašča navzgor, enote v točkah
(1/72 palca).
Lastnost vrne False, kadar je Active enak False,
ko dokument nima gradnikov AcroForm ali ko podana koordinata zgreši
vsak pravokotnik gradnika. To je ovojnica s konstantnim časom okoli PDFium-ovega
FPDFPage_HasFormFieldAtPoint — idealna za povratne informacije
gibanja miške oziroma lebdenja v prikazovalniku, kjer se vrednost povprašuje večkrat
na sekundo.
Preizkus zadetka upošteva samo pravokotnik gradnika — ne meje videza. Tiskalni
gumbi ali potrditvena polja, katerih vidni glif je manjši od pravokotnika gradnika,
še vedno poročajo True za celoten pravokotnik. Uporabite skupaj z
FormFieldInfoAt[X, Y], da po potrditvi zadetka pridobite zapis ustreznega
polja; ta vzorec se izogne težjemu pridobivanju podatkov ob vsakem dogodku gibanja
miške.
TPdfView.DeviceToPage ali sami uporabite inverzno vrednost Zoom /
odmika pomika, preden pokličete to lastnost.FormFieldInfoAt.
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;