Метод _IManipulationEvents::ManipulationDelta (manipulations.h)
Обрабатывает события, которые происходят при изменении объекта, с которыми осуществляется манипуляция.
Синтаксис
HRESULT ManipulationDelta(
[in] FLOAT x,
[in] FLOAT y,
[in] FLOAT translationDeltaX,
[in] FLOAT translationDeltaY,
[in] FLOAT scaleDelta,
[in] FLOAT expansionDelta,
[in] FLOAT rotationDelta,
[in] FLOAT cumulativeTranslationX,
[in] FLOAT cumulativeTranslationY,
[in] FLOAT cumulativeScale,
[in] FLOAT cumulativeExpansion,
[in] FLOAT cumulativeRotation
);
Параметры
[in] x
Координата источника x в определяемых пользователем координатах.
[in] y
Исходная координата по оси Y в определяемых пользователем координатах.
[in] translationDeltaX
Преобразование изменяется относительно оси X в определяемых пользователем координатах с момента последнего события.
[in] translationDeltaY
Преобразование изменяется относительно оси Y в определяемых пользователем координатах с момента последнего события.
[in] scaleDelta
Масштаб изменяется с момента предыдущего события в процентах от предыдущей шкалы.
[in] expansionDelta
Расширение изменяется с момента предыдущего события в определяемых пользователем координатах.
[in] rotationDelta
Поворот изменяется с момента предыдущего события в радианах.
[in] cumulativeTranslationX
Преобразование оси X с начала манипуляции в определяемых пользователем координатах.
[in] cumulativeTranslationY
Преобразование оси Y с начала манипуляции в определяемых пользователем координатах.
[in] cumulativeScale
Масштаб изменяется с начала манипуляции в процентах от исходного размера.
[in] cumulativeExpansion
Изменение расширения с момента начала манипуляции в определяемых пользователем координатах.
[in] cumulativeRotation
Изменение поворота с момента начала манипуляции в радианах.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возвращается код ошибки HRESULT.
Комментарии
События манипуляции создаются для интерфейсов IInertiaProcessor и IManipulationProcessor . При использовании значений из структуры TOUCHINPUT в вызовах ProcessMove координаты будут находиться в сотых пикселях.
Примеры
В следующем коде показана реализация метода ManipulationDelta.
HRESULT STDMETHODCALLTYPE CManipulationEventSink::ManipulationDelta(
/* [in] */ FLOAT x,
/* [in] */ FLOAT y,
/* [in] */ FLOAT translationDeltaX,
/* [in] */ FLOAT translationDeltaY,
/* [in] */ FLOAT scaleDelta,
/* [in] */ FLOAT expansionDelta,
/* [in] */ FLOAT rotationDelta,
/* [in] */ FLOAT cumulativeTranslationX,
/* [in] */ FLOAT cumulativeTranslationY,
/* [in] */ FLOAT cumulativeScale,
/* [in] */ FLOAT cumulativeExpansion,
/* [in] */ FLOAT cumulativeRotation)
{
m_cDeltaEventCount ++;
// Place your code handler here to do any operations based on the manipulation.
return S_OK;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 R2 [только классические приложения] |
Целевая платформа | Windows |
Header | manipulations.h (включая Manipulations.h) |
См. также раздел
Добавление поддержки манипуляций в неуправляемый код