ProcessEditorEventInfo содержит информацию о событии, поступающем в функцию ProcessEditorEventW.
struct ProcessEditorEventInfo
{
size_t StructSize;
intptr_t Event;
void *Param;
intptr_t EditorID;
};
ProcessEditorEventInfo.| Событие | Описание |
|---|---|
| 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 соответственно.
EE_READ вызывается только один раз для файла. EE_SAVE вызывается при каждом нажатии F2 или Shift+F2.EE_REDRAW вызывается при любой перерисовке экрана (в частности, при движении курсора)