DispatchInputEvent

فرم‌ها، تعامل، ورودی

توضیحات

TPDFlibFormSession

HitTest

/E جاری توزیع می‌کند مختصات اشاره‌گر همان دستگاه مختصات دیداری چرخیده CropBox در /X را به کار می‌برد، با مبدأ در گوشه بالا-چپ دیداری توزیع‌کننده Widgetهای واردشده و فشرده‌شده را دنبال می‌کند تا کنش‌های /D، /U،

fiekPointerCancel و /U حاشیه‌نویسی از قواعد ترتیب تریگرهای PDF پیروی کنند کنش رهاکردن اشاره‌گر و فعال‌سازی پیش‌فرض تنها زمانی رخ می‌دهد که دکمه اصلی روی یک Widget فشرده شده و درون همان ناحیه واردشده بدون وقفه رها شده باشد

fiekTextInput بدون توزیع WideString گرفتن اشاره‌گر را پاک می‌کند و باید هنگامی ارسال شود که میزبان کنترل اشاره‌گر را از دست می‌دهد پردازش صفحه‌کلید شامل پیمایش فوکوس با Tab و Shift+Tab، Backspace و Delete ایمن نسبت به گرافیم، جابه‌جایی جهت‌دار انتخاب، حرکت آگاه از خط با Up و Down، Home و End، Enter و Escape میدان متنی، فعال‌سازی دکمه و میان‌بُرهای Control یا Meta برای انتخاب همه، واگرد و بازانجام است

اعلان

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

پارامترها

InputEventنوع رویداد و فیلدهای موردنیاز آن نوع
InputResultنتیجه پردازش همراه با وضعیت حاصل فوکوس، هاور، فشار، مقدار و انتخاب

فیلدهای رویداد

حرکت، فشار، رهاکردن و دابل‌کلیک اشاره‌گرPage، X و Y را تنظیم کنید؛ فشار و رهاکردن همچنین Button را تنظیم می‌کنند
ترک و لغو اشاره‌گرنیازی به مختصات نیست
چرخ ماوسPage، X، Y و WheelDeltaX یا WheelDeltaY نرمال‌شده را تنظیم کنید
فشردن و رهاکردن کلیدKey و هر Modifiers فعال را تنظیم کنید
ورود متنText را روی متنی که باید درج یا جایگزین شود تنظیم کنید

مقدار بازگشتی

وقتی ساختار رویداد معتبر و پذیرفته‌شده برای توزیع باشد 1 برمی‌گرداند، از جمله رویدادهایی که عمداً بدون رسیدگی می‌مانند تا میزبان جایگزین خود را اعمال کند برای رویداد نامعتبر، مختصات اشاره‌گر نامعتبر، نشست جدا‌شده یا توزیع بازگشتی ورودی

0 برمی‌گرداند با

InputResult.Handled تصمیم بگیرید که آیا همچنان به جایگزین میزبان نیاز است

مثال

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;

همچنین ببینید

TPDFlibFormInputEvent, TPDFlibFormInputResult, TPDFlibFormSession, HitTest, FocusNext