Метод IDirectManipulationViewport::SetContact (directmanipulation.h)
Указывает связь между контактом и окном просмотра.
Синтаксис
HRESULT SetContact(
[in] UINT32 pointerId
);
Параметры
[in] pointerId
Идентификатор указателя.
Возвращаемое значение
Если метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Вызовите этот метод при получении сообщения WM_POINTERDOWN . Получив WM_POINTERDOWN, приложение может использовать координаты входных данных для проверки попадания и определения параметров просмотра, с которыми связан контакт.
DeferContact необходимо вызвать перед SetContact.
После инициализации direct Manipulation не знает о связях окна представления z-порядка или "родитель-потомок" между окнами просмотра. Порядок вызовов SetContact определяет дерево окна просмотра. Чтобы установить правильную иерархию окна просмотра, сначала необходимо вызвать Метод SetContact в самом дочернем окне просмотра, а затем в родительском, родительском и т. д.
Используйте GET_POINTERID_WPARAM , чтобы получить идентификатор указателя из сообщения указателя. Контакт автоматически удаляется при получении WM_POINTERUP .
Если контакт связан с одним или несколькими окнами просмотра с помощью метода SetContact , direct Manipulation проверит дальнейшие входные данные этого контакта и попытается определить соответствующие операции на основе конфигурации связанных окон просмотра. Если манипуляция распознана, приложение получит WM_POINTERCAPTURECHANGED сообщение для этого контакта. В этом контексте сообщение WM_POINTERCAPTURECHANGED указывает, что прямая манипуляция захватила контакт, и приложение не будет получать входные данные от этого контакта, которые используются для этой манипуляции.
Требования
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | directmanipulation.h |