DispatchInputEvent

Formularer, interaktion, input

Beskrivelse

TPDFlibFormSession

HitTest

/E Pegerkoordinater bruger det samme roterede visuelle CropBox-koordinatsystem som /X, med origo ved det visuelle øverste venstre hjørne Dispatcheren holder styr på indtrådte og nedtrykte widgets, så annotationshandlingerne /D, /U,

fiekPointerCancel og /U følger PDF'ens regler for udløserrækkefølge En peger-op-handling og standardaktivering sker kun, når den primære knap blev trykket ned på en widget og sluppet inde i det samme uafbrudte indtrædningsområde

fiekTextInput rydder indfangning uden at sende WideString og bør sendes, når værten mister pegerindfangningen Tastaturhåndtering omfatter Tab- og Shift+Tab-fokustraversering, grafemsikker Backspace og Delete, retningsbestemt markeringsflytning, linjebevidst op- og nedflytning, Home og End, Enter og Escape i tekstfelter, knapaktivering og Control- eller Meta-genveje til markér alt, fortryd og genskab

Deklaration

function DispatchInputEvent(
  const InputEvent: TPDFlibFormInputEvent;
  out InputResult: TPDFlibFormInputResult): Integer;

Parametre

InputEventHændelsestype og de felter, som denne type kræver
InputResultUdfaldet af håndteringen plus den resulterende tilstand for fokus, hover, tryk, værdi og markering

Hændelsesfelter

Peger flyt, ned, op og dobbeltklikSæt Page, X og Y; down og up sætter også Button
Peger forlader og annullererDer kræves ingen koordinater
HjulSæt Page, X, Y og normaliseret WheelDeltaX eller WheelDeltaY
Tast ned og tast opSæt Key og eventuelle aktive Modifiers
TekstinputSæt Text til den sammensatte tekst, der skal indsættes eller erstatte

Returværdi

Returnerer 1, når hændelsesstrukturen er gyldig og accepteret til afsendelse, inklusive hændelser, der bevidst forbliver ubehandlet, så værten kan anvende sin egen fallback Returnerer

0 ved en ugyldig hændelse, ugyldige pegerkoordinater, en frakoblet session eller rekursiv inputafsendelse Brug

InputResult.Handled til at afgøre, om værts-fallback stadig er påkrævet

Eksempel

var
  InputEvent: TPDFlibFormInputEvent;
  InputResult: TPDFlibFormInputResult;
begin
  InputEvent.Kind := fiekPointerDown;
  InputEvent.Page := PageNumber;
  InputEvent.X := PageX;
  InputEvent.Y := PageY;
  InputEvent.Button := fibPrimary;
  InputEvent.Modifiers := [fimShift];
  Session.DispatchInputEvent(InputEvent, InputResult);

  InputEvent.Kind := fiekTextInput;
  InputEvent.Text := ComposedText;
  Session.DispatchInputEvent(InputEvent, InputResult);
end;

Se også

TPDFlibFormInputEvent, TPDFlibFormInputResult, TPDFlibFormSession, HitTest, FocusNext