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

추가 정보

IDirectManipulationManager