function FormFieldZOrderAt(X, Y: Integer): Integer;
| X, Y | Integer. Pikselne koordinate glede na kontrolnik pregledovalnika, iste koordinate, kakršne prejmejo dogodki miške |
Piksel na zaslonu testira proti gradnikom opomb AcroForm trenutne strani in poroča položaj v zanivanju najbolj zgornjega med njimi. Pregledovalnik najprej pretvori (X, Y) v koordinate prostora strani s DeviceToPage, ki upošteva Zoom, Rotation, prikazni način, odmik strani in zamik premikanja, nato pa pokliče PDFiumovo FPDFPage_FormFieldZOrderAtPoint z ročajem obrazca strani
Večja vrnjena vrednost pomeni, da je gradnik zložen bližje gledalcu, torej narisan nad polji z manjšimi vrednostmi. Z-order je tukaj vrstni red najbolj zgornjega testiranja zadetkov po skladu opomb in ne indeks gradnika, zato vrednosti obravnavajte kot neprozorne primerjalne številke
Kjer se gradnik obrazca in opomba povezave prekrivata, primerjajte ta rezultat s LinkZOrderAt: obe vrednosti prihajata iz istega vrstnega reda zlaganja opomb, višja pa prepozna opombo, ki jo PDFium na tistem pikslu šteje za zadeto
Nasprotnik na strani TPdf, TPdf.FormFieldZOrderAtPoint(X, Y: Double), ovija isto funkcijo PDFium. Ta sprejme koordinate prostora strani neposredno v Double in dvigne izjemo, ko ni dejavne strani ali ko okolje obrazcev ni inicializirano, medtem ko ovitek TPdfView spodleti mehko in vrne -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;