PDFium Delphi Component Docs

FormFieldZOrderAt metoda

Component: TPdfView  ·  Unit: PDFium
Vrne vrstni red zlaganja najbolj zgornjega polja AcroForm, zadetega na pikslu pogleda (X, Y), ali -1

Syntax

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

Parameters

X, YInteger. Pikselne koordinate glede na kontrolnik pregledovalnika, iste koordinate, kakršne prejmejo dogodki miške

Return Value

Integer. Vrstni red zlaganja polja obrazca na preizkušeni točki ali -1, kadar nobeno polje obrazca ni zadeto ali ko preizkus ne more teči

Description

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

Remarks

Example

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;

See Also

LinkZOrderAt, HasFormFieldAt, FormFieldInfoAt, FormFieldTypeAt, DeviceToPage, AllowFormEvents