PDFium Delphi Component Docs

HasFormFieldAt Egenskap

Component: TPdf  ·  Unit: PDFium
Träffkontroll som returnerar True när en widget för ett formulärfält täcker den angivna sidkoordinaten.

Syntax

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

Description

HasFormFieldAt utför en träfftest på den aktuella aktiva sidan: den returnerar True när den givna koordinaten (X, Y) faller inuti någon widgetannoteringsrektangel. Koordinaterna anges i PDF användarutrymme — samma koordinatsystem som PageWidth / PageHeight, med origo nere till vänster, X ökande åt höger, Y ökande uppåt, enheten punkter (1/72 tum)

Egenskapen returnerar False när Active är False, när dokumentet saknar AcroForm-widgetar eller när den angivna koordinaten missar alla widgetrektanglar. Den är en omslutning med konstant körtid kring PDFiums FPDFPage_HasFormFieldAtPoint — idealisk för återkoppling vid musrörelser och hovring i ett visningsprogram där värdet efterfrågas många gånger per sekund

Träfftesten beaktar endast widgetrektangeln — inte utseendegränserna. Tryckknappar eller kryssrutor vars synliga glyf är mindre än widgetrektangeln rapporterar fortfarande True för hela rektangeln. Para ihop med FormFieldInfoAt[X, Y] för att hämta det matchade fältets post när träfftesten har bekräftat att pekaren är över ett fält; det mönstret undviker den tyngre informationshämtningen vid varje musrörelsehändelse

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