PDFium Delphi Component Docs

HasFormFieldAt الخاصية

المكوّن: TPdf  ·  الوحدة: PDFium
اختبار إصابة يعيد True عندما تغطي أداة حقل نموذج إحداثي الصفحة المعطى.

الصياغة

property HasFormFieldAt[X, Y: Single]: Boolean; // للقراءة فقط

الوصف

ينفذ HasFormFieldAt اختبار إصابة على الصفحة النشطة حاليًا: يعيد True عندما يقع الإحداثي (X, Y) المعطى داخل أي مستطيل تعليق أداة. الإحداثيات في فضاء مستخدم PDF — نظام الإحداثيات نفسه مثل PageWidth / PageHeight، مع الأصل عند أسفل اليسار، و X يتزايد يمينًا، و Y يتزايد لأعلى، والوحدات بالنقاط (1/72 بوصة).

تُرجع الخاصية False عندما تكون Active تساوي False، أو عندما لا يحوي المستند أدوات AcroForm، أو عندما تفوت الإحداثية المعطاة كل مستطيل أداة. وهي غلاف بزمن ثابت حول FPDFPage_HasFormFieldAtPoint من PDFium — مثالية لتفاعل mouse-move / hover في عارض تُستعلم فيه القيمة عدة مرات كل ثانية.

يحترم اختبار الإصابة مستطيل الأداة فقط — لا حدود المظهر. فأزرار الضغط أو مربعات الاختيار التي يكون رمزها المرئي أصغر من مستطيل الأداة تظل تُبلغ True عن المستطيل كله. اقرنها مع FormFieldInfoAt[X, Y] للحصول على سجل الحقل المطابق بمجرد أن يؤكد اختبار الإصابة أن المؤشر فوق حقل؛ فهذا النمط يجنبك جلب المعلومات الأثقل في كل حدث mouse-move.

ملاحظات

مثال

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;

انظر أيضًا

FormFieldAt, FormFieldInfoAt, FormFieldCount, TPdfView.DeviceToPage