PDFium Component Docs

HasFormFieldAt Özellik

Bu API girdisi tanımlayıcıları, imzaları, kod bloklarını ve PDF terimlerini özgün biçiminde korur.
Bileşen: TPdf  ·  Birim: PDFium
Verilen sayfa koordinatını bir form field widget'ı kapladığında True döndüren hit-test

Söz dizimi

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

Açıklama

HasFormFieldAt, geçerli etkin sayfada bir hit-test yapar: verilen (X, Y) koordinatı herhangi bir widget annotation rectangle'ının içine düşerse True döndürür. Koordinatlar PDF user space içindedir — PageWidth / PageHeight ile aynı koordinat sistemi; orijin sol alttadır, X sağa doğru artar, Y yukarı doğru artar, birimler point cinsindendir (1/72 inch)

Özellik, Active False olduğunda, belgede AcroForm widget bulunmadığında ya da verilen koordinat hiçbir widget rectangle'ına düşmediğinde False döndürür. PDFium'un FPDFPage_HasFormFieldAtPoint işlevi üzerinde sabit süreli bir sarmalayıcıdır — değerin saniyede birçok kez sorgulandığı bir viewer'da mouse-move / hover geri bildirimi için idealdir

Hit-test yalnızca widget rectangle'ını dikkate alır — appearance bounds'u değil. Görünür glyph'i widget rect'ten daha küçük olan push button veya check box'lar yine de tüm rect için True bildirir. Hit-test imlecin bir field üzerinde olduğunu doğruladığında eşleşen field'ın kaydını almak için FormFieldInfoAt[X, Y] ile birlikte kullanın; bu desen her mouse-move event'inde daha ağır olan bilgi çekimini önler

Notlar

Örnek

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;

Ayrıca bkz.

FormFieldAt, FormFieldInfoAt, FormFieldCount, TPdfView.DeviceToPage