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
| InputEvent | Az esemény típusa és az adott típushoz szükséges mezők |
|---|---|
| InputResult | A 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ás | Koordiná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