# 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` НЕЖЕЛАТЕЛЬНО ИСПОЛЬЗОВАТЬ Info.Message, Info.Menu, Info.DialogRun, Info.ShowHelp. Вызов этих функций приводит к рекурсивному вызову `VE_GOTFOCUS`.

Param
Значение указателя зависит от типа события. Смотрите описание событий для уточнения информации.
ViewerID
Идентификатор внутренней программы просмотра, вызвавшей функцию ProcessViewerEventW.

### Замечания

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