PDFium Component Docs

HasFormFieldAt Właściwość

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Test trafienia, który zwraca True, gdy widget pola formularza przykrywa podaną współrzędną strony

Składnia

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

Opis

HasFormFieldAt wykonuje test trafienia na aktualnie aktywnej stronie: zwraca True, gdy podana współrzędna (X, Y) wpada do dowolnego prostokąta adnotacji widgetu. Współrzędne są w przestrzeni użytkownika PDF — w tym samym układzie co PageWidth / PageHeight, z początkiem w lewym dolnym rogu, osią X rosnącą w prawo, osią Y rosnącą w górę i jednostkami w punktach (1/72 cala)

Właściwość zwraca False, gdy Active ma wartość False, gdy dokument nie ma widgetów AcroForm albo gdy podana współrzędna nie trafia w żaden prostokąt widgetu. To stałoczasowa otoczka wokół FPDFPage_HasFormFieldAtPoint PDFium — idealna do informacji zwrotnej przy ruchu myszy / najechaniu w podglądzie, gdzie wartość jest odpytywana wiele razy na sekundę

Test trafienia uwzględnia tylko prostokąt widgetu — nie granice wyglądu. Przyciski wypychane i pola wyboru, których widoczny glif jest mniejszy niż prostokąt widgetu, nadal zwracają True dla całego prostokąta. Połącz z FormFieldInfoAt[X, Y], aby uzyskać rekord dopasowanego pola, gdy test trafienia potwierdzi, że kursor znajduje się nad polem; taki wzorzec pozwala uniknąć cięższego pobierania informacji przy każdym zdarzeniu ruchu myszy

Uwagi

Przykład

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;

Zobacz też

FormFieldAt, FormFieldInfoAt, FormFieldCount, TPdfView.DeviceToPage