PDFium Delphi Component Docs

HasFormFieldAt Özellik

Component: TPdf  ·  Unit: PDFium
Verilen sayfa koordinatını bir form field widget'ı kapladığında True döndüren hit-test

Syntax

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

Description

HasFormFieldAt, hâlihazırda etkin sayfada bir hit-test yapar: verilen (X, Y) koordinatı herhangi bir widget annotation dikdörtgeninin içindeyse True döndürür. Koordinatlar PDF user space'tedir — PageWidth / PageHeight ile aynı koordinat sistemi; başlangıç noktası sol altta, X sağa, Y yukarı doğru artar, birim point'tir (1/72 inch)

Property, Active False olduğunda, dokümanda AcroForm widget'ı yokken veya verilen koordinat hiçbir widget dikdörtgenine denk gelmezken False döndürür. PDFium’un FPDFPage_HasFormFieldAtPoint çağrısını saran sabit-zamanlı bir sarmalayıcıdır — değerin saniyede birçok kez sorgulandığı bir görüntüleyicide mouse-move / hover geri bildirimi için idealdir

Hit-test yalnızca widget dikdörtgenini dikkate alır — appearance sınırlarını değil. Görünür glifi widget dikdörtgeninden küçük olan push button veya checkbox'lar, dikdörtgenin tamamı için True bildirir. Hit-test imlecin bir alanın üzerinde olduğunu doğruladıktan sonra eşleşen alanın kaydını almak için FormFieldInfoAt[X, Y] ile eşleştirin; bu desen, her mouse-move event'inde daha ağır bilgi alımını önler

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