PDFium Delphi Component Docs

HasFormFieldAt ویژگی

کامپوننت: TPdf  ·  واحد: PDFium
آزمون برخوردی که وقتی ویجت یک فیلد فرم مختصات صفحهٔ داده‌شده را پوشش می‌دهد True برمی‌گرداند

Syntax

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

Description

HasFormFieldAt یک آزمون برخورد روی صفحهٔ فعال جاری انجام می‌دهد: وقتی مختصات (X, Y) داده‌شده داخل مستطیل هر حاشیه‌نویسی ویجتی بیفتد True برمی‌گرداند. مختصات در فضای کاربر PDF هستند — همان دستگاه مختصات PageWidth / PageHeight، با مبدأ در پایین-چپ، X به سمت راست و Y به سمت بالا افزایش می‌یابد و واحد پوینت (1/72 اینچ)

ویژگی وقتی Active برابر False باشد، وقتی سند ویجت AcroForm ندارد، یا وقتی مختصات داده‌شده به هیچ مستطیل ویجتی اصابت نمی‌کند False برمی‌گرداند. این یک پوشش زمان-ثابت حول FPDFPage_HasFormFieldAtPoint در PDFium است — ایده‌آل برای بازخورد حرکت ماوس / هاور در نمایشگری که مقدار آن چندان‌بار در ثانیه پرسیده می‌شود

آزمون برخورد تنها مستطیل ویجت را مبنا قرار می‌دهد — نه کران‌های ظاهر. دکمه‌های فشاری یا چک‌باکس‌هایی که نویسه‌نگار دیداری‌شان از مستطیل ویجت کوچک‌تر است همچنان برای کل مستطیل True گزارش می‌دهند. پس از آنکه آزمون برخورد تأیید کرد نشانگر روی یک فیلد است، برای گرفتن رکورد فیلد منطبق آن را با FormFieldInfoAt[X, Y] جفت کنید؛ این الگو از واکشی سنگین‌تر اطلاعات در هر رخداد حرکت ماوس جلوگیری می‌کند

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