PDFium Delphi Component Docs

HasFormFieldAt Propiedad

Componente: TPdf  ·  Unidad: PDFium
Prueba de hit-test que devuelve True cuando un widget de campo de formulario cubre la coordenada de página dada

Syntax

property HasFormFieldAt[X, Y: Single]: Boolean;// solo lectura

Description

HasFormFieldAt realiza una prueba de impacto en la página actualmente activa: devuelve True cuando la coordenada (X, Y) dada cae dentro de cualquier rectángulo de anotación de widget. Las coordenadas están en el espacio de usuario PDF — el mismo sistema de coordenadas que PageWidth / PageHeight, con el origen abajo a la izquierda, X creciendo hacia la derecha, Y creciendo hacia arriba, unidades en puntos (1/72 de pulgada)

La propiedad devuelve False cuando Active es False, cuando el documento no tiene widgets AcroForm o cuando la coordenada suministrada no alcanza ningún rectángulo de widget. Es un envoltorio de tiempo constante alrededor de FPDFPage_HasFormFieldAtPoint de PDFium — ideal para la retroalimentación de movimiento de ratón / hover en un visor donde el valor se consulta muchas veces por segundo

La prueba de impacto solo respeta el rectángulo del widget — no los límites de apariencia. Los botones pulsadores o las casillas de verificación cuyo glifo visible es menor que el rect del widget siguen reportando True para todo el rect. Combine con FormFieldInfoAt[X, Y] para obtener el registro del campo coincidente una vez que la prueba confirma que el cursor está sobre un campo; ese patrón evita la obtención de información más pesada en cada evento de movimiento del ratón

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