PDFium Delphi Component Docs

HasFormFieldAt Propriété

Composant: TPdf  ·  Unit: PDFium
Hit-test qui renvoie True lorsqu’un widget de champ de formulaire couvre la coordonnée de page donnée

Syntax

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

Description

HasFormFieldAt effectue un hit-test sur la page actuellement active : il renvoie True quand la coordonnée (X, Y) donnée tombe à l’intérieur d’un rectangle d’annotation de widget. Les coordonnées sont en espace utilisateur PDF — le même système de coordonnées que PageWidth / PageHeight, avec l’origine en bas à gauche, X croissant vers la droite, Y croissant vers le haut, unités en points (1/72 pouce)

La propriété renvoie False lorsque Active est False, lorsque le document n'a aucun widget AcroForm ou lorsque la coordonnée fournie manque chaque rectangle de widget. C'est un wrapper à coût constant autour de FPDFPage_HasFormFieldAtPoint — idéal pour les retours au survol / déplacement de souris dans une visionneuse où la valeur est interrogée de nombreuses fois par seconde

Le hit-test ne tient compte que du rectangle du widget — pas de ses limites d'apparence. Les boutons poussoirs ou cases à cocher dont le glyphe visible est plus petit que le rectangle du widget renvoient quand même True pour tout le rectangle. Associez-le à FormFieldInfoAt[X, Y] pour obtenir l'enregistrement du champ correspondant une fois que le hit-test confirme que le curseur est sur un champ ; ce schéma évite le coût plus lourd de récupération d'informations à chaque événement de déplacement de souris

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