PDFium Delphi Component Docs

FormFieldZOrderAt metoda

Komponenta: TPdfView  ·  Jedinica: PDFium
Vraća redoslijedom slaganja najgornjeg pogođenog AcroForm polja na pikselu preglednika (X, Y), ili -1

Sintaksa

function FormFieldZOrderAt(X, Y: Integer): Integer;

Parametri

X, YInteger. Pikselne koordinate relativne na kontrolu preglednika, iste koordinate koje primaju događaji miša

Povratna vrijednost

Integer. Z-redoslijedom polja obrasca na testiranoj točki, ili -1 kada nije pogođeno nijedno polje obrasca ili test ne može biti izveden

Opis

Testira zaslonski piksel naspram anotacija widgeta AcroForm trenutačne stranice i izvještava položaj u slaganju najgornjeg među njima. Preglednik najprije pretvara (X, Y) u koordinate prostora stranice s DeviceToPage, što uvažava Zoom, Rotation, način prikaza, podlogu stranice i pomak klizanja, a zatim poziva PDFium FPDFPage_FormFieldZOrderAtPoint s ručkom obrasca stranice

Veća povratna vrijednost znači da je widget složen bliže promatraču, odnosno da je nacrtan iznad polja s manjim vrijednostima. Z-redoslijedom ovdje je redoslijedom najgornjeg testiranja pogodaka u stogu anotacija, a ne indeks widgeta, pa vrijednosti tretirajte kao neprozirne brojeve za usporedbu

Kada se widget obrasca i anotacija linka preklapaju, usporedite ovaj rezultat s LinkZOrderAt: obje vrijednosti dolaze iz istog redoslijeda slaganja anotacija, a viša identificira anotaciju koju PDFium smatra pogođenom na tom pikselu

TPdf pandan TPdf.FormFieldZOrderAtPoint(X, Y: Double) omotava istu PDFium funkciju. On izravno prima koordinate prostora stranice u Double i podiže iznimku kada nema aktivne stranice ili okruženje obrasca nije inicijalizirano, dok omot TPdfView-a podbacuje meko i vraća -1

Napomene

Primjer

procedure TForm1.PdfView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  FieldZ, LinkZ: Integer;
begin
  FieldZ := PdfView1.FormFieldZOrderAt(X, Y);
  LinkZ := PdfView1.LinkZOrderAt(X, Y);
  if (FieldZ >= 0) and (FieldZ > LinkZ) then
    Caption := 'form field wins the hit';
end;

Vidi također

LinkZOrderAt, HasFormFieldAt, FormFieldInfoAt, FormFieldTypeAt, DeviceToPage, AllowFormEvents