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