PDFium Delphi Component Docs

FormFieldZOrderAt-metodi

Komponentti: TPdfView  ·  Yksikkö: PDFium
Palauttaa päällimmäisen pikselikohdassa (X, Y) osuman AcroForm-kentän pinomäärän tai arvon -1

Syntax

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

Parameters

X, YInteger. Pikselikoordinaatit katselinkontrollin suhteen, samat koordinaatit, jotka hiiritapahtumat vastaanottavat

Return Value

Integer. Lomakekentän z-järjestys osumatestatun kohdan kohdalla tai -1, kun mitään lomakekenttää ei osunut tai testiä ei voitu suorittaa

Description

Osumatestaa näytön pikselin nykyisen sivun AcroForm-widgetmerkintöjä vastaan ja raportoi päällimmäisen pinosijainnin. Katselin muuntaa ensin koordinaatit (X, Y) sivuavaruuteen metodilla DeviceToPage, joka ottaa huomioon Zoomin, Rotationin, näyttötilan, sivun täytteen ja vierityssiirtymän, ja kutsuu sitten PDFiumin FPDFPage_FormFieldZOrderAtPointia sivun lomakekahvalla

Suurempi paluuarvo tarkoittaa, että widget on pinottu lähemmäs katselijaa, eli se piirretään pienemmän arvon omaavien kenttien päälle. Z-järjestys tarkoittaa tässä merkintäpinon päällimmäistä osumatestausjärjestystä, ei widgetin indeksiä, joten käsittele arvoja läpinäkymättöminä vertailulukuina

Kun lomakewidget ja linkkimerkintä menevät päällekkäin, vertaa tätä tulosta metodiin LinkZOrderAt: molemmat arvot tulevat samasta merkintäpinon järjestyksestä, ja suurempi niistä tunnistaa merkinnän, jota PDFium pitää kyseisen pikselin osumana

TPdf-vastine TPdf.FormFieldZOrderAtPoint(X, Y: Double) käärii saman PDFium-funktion. Se ottaa sivuavaruuden koordinaatit suoraan Double-tyyppisinä ja nostaa poikkeuksen, kun mikään sivu ei ole aktiivinen tai lomakeympäristöä ei ole alustettu, kun taas TPdfView-kääre epäonnistuu pehmeästi ja palauttaa arvon -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