Поделиться через


Метод IPointerInactive::GetActivationPolicy (ocidl.h)

Извлекает текущую политику активации для объекта . Этот метод вызывается контейнером при получении сообщения WM_SETCURSOR или WM_MOUSEMOVE, когда неактивный объект находится под указателем мыши.

Синтаксис

HRESULT GetActivationPolicy(
  [out] DWORD *pdwPolicy
);

Параметры

[out] pdwPolicy

Указатель на переменную, которая получает политику активации. Возможные значения поступают из перечисления POINTERINACTIVE .

Возвращаемое значение

Если метод выполнен успешно, возвращаемое значение будет S_OK. В противном случае это E_FAIL.

Комментарии

Объект может запросить активацию на месте, как только мышь войдет в него через значение POINTERINACTIVE_ACTIVATEONENTRY. Объект, предоставляющий больше визуальной обратной связи, чем простое задание указателя мыши, будет использовать это значение. Например, если объект поддерживает специальную визуальную обратную связь, он должен войти в активное состояние, чтобы получить визуальную обратную связь, которую он поддерживает.

Объект также может использовать этот метод для запроса активации при перетаскивании мыши на них во время операции перетаскивания через POINTERINACTIVE_ACTIVATEONDRAG.

Если объект возвращает одно из этих значений, контейнер должен немедленно активировать объект и переслать сообщение Window, которое активировало вызов . Затем объект остается активным и обрабатывает последующие сообщения через собственное окно, пока контейнер не получит другую WM_SETCURSOR или WM_MOUSEMOVE. На этом этапе контейнер должен деактивировать объект .

Для объектов OLE без окон этот механизм немного отличается. Дополнительные сведения об операциях перетаскивания для объектов без окон см. в разделе IOleInPlaceSiteWindowless .

Если объект возвращает значения POINTERINACTIVE_ACTIVATEONENTRY и POINTERINACTIVE_DEACTIVATEONLEAVE, объект активируется только при наведении указателя мыши на объект. Если задано только значение POINTERINACTIVE_ACTIVATEONENTRY, объект активируется один раз при первом входе мыши в него и остается активным.

Примечания к вызывающим абонентам

Политика активации не должна кэшироваться. Контейнер должен вызывать этот метод каждый раз, когда мышь входит в неактивный объект.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ocidl.h

См. также раздел

IOleInPlaceSiteWindowless

IPointerInactive