property HasFormFieldAt[X, Y: Single]: Boolean; // read only
HasFormFieldAt atlieka paspaudimo tikrinimą šiuo metu aktyviame puslapyje: jis grąžina
True, kai nurodyta (X, Y) koordinatė patenka į bet kurį
valdiklio anotacijos stačiakampį. Koordinatės yra PDF vartotojo erdvėje — toje pačioje
koordinačių sistemoje kaip PageWidth / PageHeight, su pradžia
apačioje kairėje, X didėja dešinėn, Y didėja aukštyn, vienetai taškais
(1/72 colio)
Ypatybė grąžina False, kai Active yra False,
kai dokumentas neturi AcroForm valdiklių arba kai pateikta koordinatė nepatenka
nė į vieną valdiklio stačiakampį. Tai pastovaus laiko apvalkalas aplink PDFium
FPDFPage_HasFormFieldAtPoint — idealu pelės judesimo / užvedimo
grįžtamajam ryšiui peržiūros programoje, kur reikšmė užklausiama daug kartų per
sekundę
Tikrinimas atsižvelgia tik į valdiklio stačiakampį — ne į išvaizdos ribas. Mygtukai
ar žymimieji langeliai, kurių matomas ženklas mažesnis už valdiklio stačiakampį,
vis tiek visam stačiakampiui praneša True. Derinkite su
FormFieldInfoAt[X, Y], kad gautumėte atitikusio lauko įrašą, kai
tikrinimas patvirtina, kad žymeklis virš lauko; toks šablonas apsaugo nuo
sunkesnio informacijos gavimo kiekviename pelės judesio įvykyje
TPdfView.DeviceToPage arba prieš kviesdami šią ypatybę patys
pritaikykite atvirkštinį Zoom / slinkimo poslinkįFormFieldInfoAt,
kai reikia žinoti, kuris laukas buvo paspaustas
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;