ProcessViewerEventInfo
содержит информацию о событии, поступающем в функцию ProcessViewerEventW.
struct ProcessViewerEventInfo { size_t StructSize; intptr_t Event; void *Param; intptr_t ViewerID; };
ProcessViewerEventInfo
.Событие | Описание |
---|---|
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
.
VE_READ
вызывается только один раз для файла.