IDirectManipulationManager::RegisterHitTestTarget 메서드(directmanipulation.h)
적중 테스트를 위한 전용 스레드를 등록합니다.
구문
HRESULT RegisterHitTestTarget(
[in] HWND window,
[in, optional] HWND hitTestWindow,
[in] DIRECTMANIPULATION_HITTEST_TYPE type
);
매개 변수
[in] window
기본 앱 창의 핸들입니다(일반적으로 UI 스레드에서 생성됨).
[in, optional] hitTestWindow
적중 테스트가 등록된 창의 핸들입니다(적중 테스트 스레드에서 만들어야 합니다). nullptr을 전달하여 이전에 등록된 적중 테스트 대상의 등록을 취소합니다.
[in] type
DIRECTMANIPULATION_HITTEST_TYPE 값 중 하나입니다. UI 창 또는 적중 테스트 창(또는 둘 다)이 적중 테스트 WM_POINTERDOWN 메시지를 받을지 여부와 순서를 지정합니다.
반환 값
메서드가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
적중 테스트는 일반적으로 애플리케이션 UI 스레드에서 수행됩니다. 애플리케이션은 적중 테스트가 수행되는 WM_POINTERDOWN 메시지를 받습니다. 조작이 필요한 경우 하나 이상의 뷰포트에서 SetContact 가 호출됩니다. 애플리케이션은 RegisterHitTestTarget 메서드를 사용하여 이 적중 테스트 책임을 별도의 적중 테스트 스레드에 위임할 수 있습니다.
전용 적중 테스트 대상이 성공적으로 등록되면 WM_POINTERDOWN 메시지가 적중 테스트 스레드에서 처리됩니다. 이동 또는 확대/축소와 같은 조작이 필요한 경우 이 스레드에서 SetContact 가 호출됩니다.
적중 테스트 스레드에서 SetContact 를 호출하지 않으면 등록중에 지정된 DIRECTMANIPULATION_HITTEST_TYPE 따라 WM_POINTERDOWN 메시지가 UI 스레드에서 처리될 수 있습니다.
적중 테스트 스레드 또는 UI 스레드에서 SetContact 를 호출하지 않으면 직접 조작 은 UI 스레드에서 처리되는 입력을 무시합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | directmanipulation.h |