ProcessViewerEventInfo

Programming Far Manager plugins

ProcessViewerEventInfo

Структура ProcessViewerEventInfo содержит информацию о событии, поступающем в функцию ProcessViewerEventW.
struct ProcessViewerEventInfo
{
  size_t StructSize;
  intptr_t Event;
  void *Param;
  intptr_t ViewerID;
};

Элементы

StructSize
Это поле содержит размер структуры ProcessViewerEventInfo.
Event
Тип события.
Может быть одной из следующих величин (перечисление VIEWER_EVENTS):
СобытиеОписание
VE_CLOSE Одно из окон программы просмотра закрывается. Плагин может использовать это сообщение для освобождения внутренних структур данных. Заметьте, что несколько окон программы просмотра могут работать одновременно. Параметр Param указывает на переменную, содержащую значение ViewerID закрываемой программы просмотра. ViewerID может быть получен ранее с использованием VCTL_GETINFO команды ViewerControl. Но плагин не должен вызывать ViewerControl при обработке этого сообщения, потому что программа просмотра уже закрыта.
Функция ProcessViewerEventW должна вернуть 0.
VE_READ Новый файл загружен в программу просмотра.
Param = NULL.
Функция ProcessViewerEventW должна вернуть 0.
VE_KILLFOCUS Программа просмотра потеряла фокус ввода.
Param указывает на переменную, содержащую значение ViewerID вьюера, теряющего фокус.
Функция ProcessViewerEventW должна вернуть 0.
VE_GOTFOCUS Программа просмотра получила фокус ввода.
Param указывает на переменную, содержащую значение ViewerID вьюера, получающего фокус.
Функция ProcessViewerEventW должна вернуть 0.

Замечание для VE_GOTFOCUS Внимание!

  • При обработке VE_GOTFOCUS НЕЖЕЛАТЕЛЬНО ИСПОЛЬЗОВАТЬ Info.Message, Info.Menu, Info.DialogRun, Info.ShowHelp. Вызов этих функций приводит к рекурсивному вызову VE_GOTFOCUS.
Param
Значение указателя зависит от типа события. Смотрите описание событий для уточнения информации.
ViewerID
Идентификатор внутренней программы просмотра, вызвавшей функцию ProcessViewerEventW.

Замечания

  • VE_READ вызывается только один раз для файла.
  • Смотрите также: