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


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

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

Синтаксис

HRESULT OnInactiveMouseMove(
  [in] LPCRECT pRectBounds,
  [in] LONG    x,
  [in] LONG    y,
  [in] DWORD   grfKeyState
);

Параметры

[in] pRectBounds

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

[in] x

Горизонтальная координата расположения мыши в единицах содержащего клиента окна.

[in] y

Вертикальная координата расположения мыши в единицах содержащего клиента окна.

[in] grfKeyState

Текущее состояние клавиш-модификаторов клавиатуры на клавиатуре. Возможные значения могут быть сочетанием любых значений MK_CONTROL, MK_SHIFT, MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON и MK_RBUTTON.

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

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

Комментарии

Контейнер вызывает этот метод для уведомления объекта о наведении указателя мыши на объект после проверки политики активации объекта путем вызова метода IPointerInactive::GetActivationPolicy . Если объект не запросил активацию на месте с помощью этого вызова, контейнер отправляет последующие сообщения WM_MOUSEMOVE в неактивный объект, вызывая OnInactiveMouseMove , пока указатель мыши остается над объектом. Затем объект может запускать события перемещения мыши.

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

Требования

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

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

IPointerInactive