property FormFieldInfoAt[X, Y: Single]: TPdfFormFieldInfo; // read only
FormFieldInfoAt utfører en trefftest på den aktive siden og returnerer
TPdfFormFieldInfo-posten som beskriver widgetmerknaden på
(X, Y). Koordinater er i PDF-brukerområde, med origo i
nedre venstre hjørne av siden og enheter uttrykt i punkter (1/72 tomme). Posten
speiler hva FormFieldInfo[Index] returnerer — felttype
(fiTextField, fiCheckBox, …), feltnavn, alternativt
navn, flagg, alternativetiketter, avkrysningsstatus, eksportverdi og skriftstørrelse
Når koordinaten ikke lander innenfor noen widgetrektangel, returnerer FormFieldInfoAt
en standardinitialisert TPdfFormFieldInfo —
FieldType = fiUnknown og tomme strenger overalt. Bruk
HasFormFieldAt[X, Y] for en billig ja/nei-sjekk før du henter hele
posten, eller bare sjekk returnert FieldType
Oppslaget er O(n) over sidens widgets og dekoder i tillegg
Unicode-feltmetadata, så det er tyngre enn HasFormFieldAt. I en
musebevegelsesbehandler, sjekk HasFormFieldAt først; kall
FormFieldInfoat kun ved klikk eller sveve-inn. Koordinater fra en musepeker går gjennom
TPdfView.PointToPage først for å oversette enhetspiksler til sideenheter
/Annots vinner)FieldType = fiSignature — kombiner med
SignatureCount for å telle opp signeringsstatus separatFormFieldAt gjør cachelagrede poster ugyldige;
les på nytt etter hver skriving
procedure TForm1.PdfView1Click(Sender: TObject);
var Info: TPdfFormFieldInfo;
PageX, PageY: Double;
begin
PdfView1.PointToPage(Mouse.CursorPos.X, Mouse.CursorPos.Y, PageX, PageY);
Info := Pdf1.FormFieldInfoAt[PageX, PageY];
if Info.FieldType <> fiUnknown then
ShowMessage(Info.Name);
end;