function FormFieldZOrderAt(X, Y: Integer): Integer;
| X, Y | Integer. Pikselne koordinate relativne na kontrolu preglednika, iste koordinate koje primaju događaji miša |
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
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;