ProcessEditorInput
Функция ProcessEditorInput вызывается всякий раз,
когда внутренний редактор FAR обрабатывает событие от клавиатуры или
мыши.
int WINAPI ProcessEditorInput(
const INPUT_RECORD *Rec
);
Параметры
Rec
Указатель на структуру
INPUT_RECORD.
Эта структура определена в Win32 API и содержит
информацию о последнем событии от клавиатуры или
мыши.
Возвращаемое значение
Если плагин должен передать управление в редактор FAR`а, то верните 0.
Если плагин в полной мере отработал событие или вы хотите, чтобы FAR
игнорировал это событие, то верните 1.
Замечания
- Плагин должен корректно обрабатывать входные события путем анализа поля
INPUT_RECORD.EventType
и, в случае если плагин данное событие не обрабатывает, вернуть управление в FAR.
- Во время "проигрывания" макроса клавиатурные события (KEY_EVENT) имеют "новый" тип - поле
INPUT_RECORD.EventType равно значению 0x8001.
- Плагин может вызвать команду EditorControl
из этой функции, но будьте осторожны, когда вызываете здесь ECTL_PROCESSINPUT,
потому что эта команда вызывает функцию ProcessEditorInput снова. Таким образом,
плагин должен сам предотвратить такой самовызов, или он впадет в бесконечный цикл.
- Плагину не приходят клавиши: Ctrl-W, F11, Alt-F9,
F12, Ctrl-Tab, Ctrl-Shift-Tab, Alt-Ins
и Ctrl-Alt-Shift.
- Плагину приходят клавиши (с ограничениями):
- Alt-F5 - если плагин PrintMan не установлен
- Alt-F11 - если редактор модальный
- F6 - если есть запрет на переключение в
программу просмотра (при вызове функции Editor
не указан флаг EF_ENABLE_F6).
Смотрите также: