DispatchInputEvent

Űrlapok, interakció, bemenet

Leírás

TPDFlibFormSession

HitTest

A küldő nyilvántartja a belépett és lenyomott Widgeteket, hogy az annotáció /E, /X, /D és /U actionjei kövessék a PDF trigger-sorrendi szabályokat

Mutató-fel action és alapértelmezett aktiválás csak akkor következik be, ha az elsődleges gombot egy Widgeten nyomták le és ugyanabban a megszakítás nélküli belépési területen engedték fel

fiekPointerCancel /U kézbesítése nélkül törli a rögzítést, és akkor kell elküldeni, amikor a gazda elveszíti a mutató rögzítését

A billentyűzetkezelés magában foglalja a Tab és Shift+Tab fókuszbejárást, graféma-biztos Backspace és Delete, irányított kijelölés-mozgást, sorkövető Up és Down mozgást, Home és End, szövegmező Enter és Escape, gomb-aktiválást és Control vagy Meta rövidítéseket a mindet kiválaszt, undo és redo számára

fiekTextInput teljes WideString bemenetet fogad, így a gazdák továbbíthatják az összeállított vagy kiegészítő Unicode-szöveget platform-billentyűkódokra való redukálás nélkül

A függőleges görgő delták normalizált logikai lépések, nem operációsrendszer-konstansok; a pozitív értékek korábbi választóelemeket, a negatív értékek későbbi elemeket választanak

Deklaráció

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

Paraméterek

InputEventAz esemény típusa és az adott típushoz szükséges mezők
InputResultA kezelés kimenete az eredményül kapott fókusszal, mutatóval, lenyomással, értékkel és kijelölési állapottal

Eseménymezők

Mutató mozgás, lenyomás, felengedés és dupla kattintásÁllítsa be a Page, X és Y értékeket; a lenyomás és a felengedés a Button értékét is beállítja
Mutató elhagyás és megszakításKoordinátákra nincs szükség
GörgőÁllítsa be a Page, X, Y és a normalizált WheelDeltaX vagy WheelDeltaY értékeket
Billentyű lenyomás és felengedésÁllítsa be a Key és az aktív Modifiers értékeket
SzövegbevitelÁllítsa a Text értékét a beszúrandó vagy helyettesítendő összegyűjtött szövegre

Visszatérési érték

1-et ad vissza, ha az eseménystruktúra érvényes és elfogadásra kerül továbbításra, ideértve azokat az eseményeket is, amelyek szándékosan kezeletlenek maradnak, hogy a gazda a saját tartalékát alkalmazhassa

0-t ad vissza érvénytelen esemény, érvénytelen mutatókoordináták, leválasztott munkamenet vagy rekurzív bemenettovábbítás esetén Az

InputResult.Handled alapján dönthető el, hogy még szükséges-e a gazda tartaléka

Példa

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;

Lásd még

TPDFlibFormInputEvent, TPDFlibFormInputResult, TPDFlibFormSession, HitTest, FocusNext