ProcessEditorEventInfo
Структура
ProcessEditorEventInfo содержит информацию о событии, поступающем в функцию ProcessEditorEventW.
struct ProcessEditorEventInfo
{
size_t StructSize;
intptr_t Event;
void *Param;
intptr_t EditorID;
};
Элементы
StructSize
Это поле содержит размер структуры
ProcessEditorEventInfo.Event
Тип события.
Может быть одной из следующих величин (перечисление EDITOR_EVENTS):
Может быть одной из следующих величин (перечисление EDITOR_EVENTS):
| Событие | Описание |
|---|---|
| EE_CLOSE | Одно из окон редактора закрывается. Плагин может использовать это сообщение для освобождения внутренних структур данных. Заметьте, что несколько окон редактора могут работать одновременно. EditorID может быть получен ранее с использованием ECTL_GETINFO команды EditorControl. Но плагин не должен вызывать EditorControl при обработке этого сообщения потому что редактор уже закрыт.Param = NULL.Функция ProcessEditorEventW должна вернуть 0.
|
| EE_READ | Новый файл загружен в редактор. Плагин может использовать команды функции EditorControl для модификации считанных данных.Param = NULL.Функция ProcessEditorEventW должна вернуть 0. |
| EE_SAVE | Отредактированный файл собираются сохранять. Плагин может использовать команды функции EditorControl для модификации данных перед сохранением.Param указывает на структуру EditorSaveFile.
Функция ProcessEditorEventW должна вернуть 0. |
| EE_REDRAW | Редактор собирается перерисовать экран.Param указывает на константу EEREDRAW_ALL.Функция ProcessEditorEventW должна вернуть 0. |
| EE_KILLFOCUS | Редактор потерял фокус ввода.Param указывает на переменную, содержащую значение EditorID редактора, теряющего фокус.Функция ProcessEditorEventW должна вернуть 0. |
| EE_GOTFOCUS | Редактор получил фокус ввода.Param указывает на переменную, содержащую значение EditorID редактора, получающего фокус.Функция ProcessEditorEventW должна вернуть 0. |
| EE_CHANGE | В редакторе изменился текст.Param указывает на переменную, типа EditorChange.Функция ProcessEditorEventW должна вернуть 0.Плагин должен подписаться на это событие, чтоб получать его.
|
Внимание!
- При обработке
EE_REDRAWиEE_GOTFOCUSНЕЖЕЛАТЕЛЬНО ИСПОЛЬЗОВАТЬ Info.Message, Info.Menu, Info.DialogRun, Info.ShowHelp. Вызов этих функций приводит к рекурсивному вызовуEE_REDRAWиEE_GOTFOCUSсоответственно.
Param
Значение указателя зависит от типа события. Смотрите описание событий для уточнения информации.
EditorID
Идентификатор редактора, вызвавшей функцию ProcessEditorEventW.
Замечания
EE_READ вызывается только один раз для файла. EE_SAVE вызывается при каждом нажатии F2 или Shift+F2.EE_REDRAW вызывается при любой перерисовке экрана (в частности, при движении курсора)Смотрите также:
Замечание.