PDFium Delphi Component Docs

HasFormFieldAt властивість

Component: TPdf  ·  Unit: PDFium
Описує властивість TPdf.HasFormFieldAt у PDFium Delphi Component і пояснює, коли використовувати цей член API

Syntax

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

Description

HasFormFieldAt виконує перевірку влучання на поточній активній сторінці: повертає True, коли задана координата (X, Y) потрапляє всередину прямокутника будь-якої анотації-віджета. Координати задаються в просторі користувача PDF — та сама система координат, що й PageWidth / PageHeight, з початком у нижньому лівому куті, X зростає праворуч, Y зростає вгору, одиниці — пункти (1/72 дюйма)

Властивість повертає False, коли Active дорівнює False, коли документ не має віджетів AcroForm або коли подана координата не потрапляє жодному прямокутнику віджета. Це обгортка сталої складності навколо 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