PDFium Delphi Component Docs

HasFormFieldAt property

Component: TPdf  ·  Unit: PDFium
Preizkus zadetka, ki vrne True, ko gradnik obrazčnega polja prekriva dano koordinato strani

Syntax

property HasFormFieldAt[X, Y: Single]: Boolean; // read only

Description

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.

Remarks

Example

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;

See Also

FormFieldAt, FormFieldInfoAt, FormFieldCount, TPdfView.DeviceToPage