ReportWindowContentInertia 함수

[일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 보증을 하지 않습니다.]

지정된 창의 콘텐츠가 관성 상태인지 여부를 시스템에 보고합니다.

문법

WINUSERAPI
BOOL
WINAPI
ReportWindowContentInertia(
    HWND hWnd,
    BOOL bStartInertia);

매개 변수

hWnd

콘텐츠 관성 상태가 보고되는 창에 대한 핸들입니다.

bStartInertia

TRUE 이면 창의 콘텐츠가 관성으로 들어갔다고 보고합니다. 관성 중지를 보고하는 FALSE 입니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

비고

입력 스트림이 종료된 후 입력에 의해 조작된 후 계속 이동하는 경우 창 콘텐츠는 "관성"입니다. 터치 패드 입력이 적절한 경우 이 동작을 제대로 중지할 수 있도록 이 관성 보고

창이 관성인 경우 시스템은 터치 패드 입력에 응답하는 방법을 변경합니다.

  • 새 터치 패드 입력이 도착한 직후 시스템은 창에 WM_STOPINERTIA 보냅니다. 애플리케이션은 콘텐츠의 동작을 중지하여 이 메시지에 반응해야 하지만, 동일한 콘텐츠를 조작하는 반복된 제스처에 대한 최적화가 있는 경우(예: 관성 콘텐츠를 선호하는 적중 테스트 입력 또는 기존 콘텐츠 속도 기억) 반드시 "관성" 상태에서 전환되는 것은 아닙니다.
  • 시스템에서 터치 패드 입력이 콘텐츠 동작을 중지하려고 하는 것으로 확인되면 시스템은 창에 WM_ENDINERTIA 보냅니다. 애플리케이션은 콘텐츠의 동작을 중지하고 "관성" 상태를 종료하여 이 메시지에 반응해야 합니다.

예제 시나리오:

  • 사용자가 빠른 탭을 수행합니다. WM_ENDINERTIA 전송됩니다. 마우스 입력이 생성되지 않습니다. 탭하면 관성만 종료됩니다.
  • 사용자가 터치 패드에 손가락을 대고 들어 올립니다. WM_STOPINERTIA 뒤에 WM_ENDINERTIA.
  • 사용자는 관성 메시지가 없는 빠른 두 손가락 제스처를 수행합니다. 반복 제스처는 콘텐츠를 불필요하게 중단하지 않고 처리할 수 있습니다.
  • 사용자는 터치 패드에서 손가락(또는 두 개)을 누운 다음 두 손가락 제스처( WM_STOPINERTIA)를 수행합니다. 제스처를 수행하기 전에 주거함으로써 사용자가 콘텐츠를 중지하려고 시도했을 수 있습니다.

대부분의 경우 WM_STOPINERTIA 수신은 WM_ENDINERTIA 또는 다른 터치 패드 제스처로 이어지지만 보장되지는 않습니다. 애플리케이션이 WM_STOPINERTIA 수신 시 특수 콘텐츠 상태를 구현하는 경우 해당 상태는 일정 시간 후에 종료되어야 합니다. 마찬가지로 터치 패드 입력 스트림이 짧은 경우 WM_ENDINERTIA 반드시 WM_STOPINERTIA 앞에 오는 것은 아닙니다.

보고 관성은 터치 패드 입력을 올바르게 처리하는 데 중요합니다. 창의 콘텐츠가 관성이며 시스템에 보고되지 않는 경우 터치 패드를 탭하면 클릭(마우스 왼쪽 아래 및 왼쪽 위로)의 정상적인 동작이 발생합니다. 애플리케이션은 이 마우스 입력을 동작 중인 콘텐츠와 상호 작용하는 것으로 간주하여 사용자가 의도하지 않은 작업을 수행할 수 있습니다.

터치 또는 펜 입력으로 인한 관성인 경우 콘텐츠가 관성인 창은 일반적으로 후속 입력을 수신하는 창과 동일하기 때문에 시스템은 관성 측면에서 입력을 특별히 처리할 필요가 없습니다. 터치 패드 입력의 경우 반대로 시스템은 애플리케이션이 입력을 받기 전에 결정을 내립니다. 터치 또는 펜 입력으로 인한 관성 보고는 사용자가 터치 패드로 관성 중지를 시도하는 경우 예상되는 동작이 발생하도록 하는 것이 좋습니다.

시스템은 관성에서 단일 창만 추적합니다. 이 API가 다른 창에서 시작되는 관성 보고서를 호출할 때 관성은 이미 활성 상태인 경우 이전 관성 정보가 대체됩니다.

관성 보고가 시작되는 경우 지정된 창은 현재 스레드에서 소유해야 하며 스레드는 지난 2초 동안 입력을 검색해야 합니다. 창의 콘텐츠 동작이 중지되면 이후에 중지된 것으로 보고되어야 합니다(창이 WM_STOPINERTIA 또는 WM_ENDINERTIA 수신하지 않는 한 관성 중지를 보고할 필요가 없음). 시스템이 더 이상 관성 추적을 수행하지 않거나, 추적된 창이 지정된 창과 일치하지 않거나, 추적된 창이 다른 프로세스에서 소유하는 경우 보고 관성 중지는 자동으로 무시됩니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 11 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
Header Winuser.h(Windows.h 포함)
라이브러리 User32.lib
동적 링크 라이브러리 (DLL) User32.dll(서수 2695)

참고하십시오