PDFium Delphi Component Docs

HasFormFieldAt Proprietà

Componente: TPdf  ·  Unità: PDFium
Hit-test che restituisce True quando un widget campo modulo copre la coordinata di pagina data

Syntax

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

Description

HasFormFieldAt esegue un hit-test sulla pagina attualmente attiva: restituisce True quando la coordinata (X, Y) data cade dentro il rettangolo di una qualsiasi annotazione widget. Le coordinate sono in user space PDF — stesso sistema di coordinate di PageWidth / PageHeight, con l'origine in basso a sinistra, X crescente verso destra, Y crescente verso l'alto, unità in punti (1/72 di pollice)

La proprietà restituisce False quando Active è False, quando il documento non ha widget AcroForm, o quando la coordinata fornita non tocca alcun rettangolo widget. È un wrapper a tempo costante attorno a FPDFPage_HasFormFieldAtPoint di PDFium — ideale per il feedback mouse-move / hover in un viewer dove il valore viene interrogato molte volte al secondo

L'hit-test considera solo il rettangolo del widget — non i confini dell'appearance. Pulsanti o caselle di controllo il cui glifo visibile è più piccolo del rettangolo widget riportano comunque True per l'intero rettangolo. Abbinalo a FormFieldInfoAt[X, Y] per ottenere il record del campo trovato una volta che l' hit-test conferma che il cursore è sopra un campo; questo schema evita il recupero più pesante delle info a ogni evento mouse-move

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