Windows 터치 제스처 개요

이 섹션에서는 Windows Touch에서 지원하는 다양한 제스처에 대해 설명합니다.

제스처 개요

Windows Touch를 사용하면 단일 및 여러 연락처를 지원하는 여러 제스처를 사용할 수 있습니다. 다음 이미지는 Windows 7에서 지원되는 다양한 제스처를 보여 줍니다.

Windows 7에서 Windows 터치가 지원하는 제스처를 보여 주는 일러스트레이션

참고

일부 인식기는 연락처가 서로 더 떨어져 있을 때 여러 연락처로 제스처를 해석하는 데 더 안정적입니다.

레거시 지원

레거시 지원을 위해 기본 제스처 처리기는 이전 버전의 Windows에서 사용된 Windows 메시지에 일부 제스처를 매핑합니다. 다음 표에서는 제스처가 레거시 메시지에 매핑되는 방법을 간략하게 설명합니다.

제스처 설명 메시지 생성됨
이동 이동 제스처는 스크롤 휠을 사용하여 에 매핑합니다. WM_VSCROLL
WM_HSCROLL
길게 누르기 길게 누르기 제스처는 마우스를 마우스 오른쪽 단추로 클릭하는 데 매핑됩니다. WM_RBUTTONDOWN
WM_RBUTTONUP
Zoom 확대/축소 제스처는 Ctrl 키를 누르고 마우스 휠을 회전하여 스크롤하는 것과 유사한 메시지를 트리거합니다. wParam에서 MK_CONTROL 설정된 WM_MOUSEWHEEL

Windows 터치 제스처 해석

Windows Touch 제스처는 애플리케이션의 WndProc 함수에서 WM_GESTURE 메시지를 처리하여 애플리케이션 개발자가 해석할 수 있습니다. 이 메시지를 처리한 후 제스처를 설명하는 GESTUREINFO 구조를 검색할 수 있습니다. GESTUREINFO 구조에는 제스처 유형에 따라 다양한 정보가 있습니다.

GESTUREINFO 구조체는 핸들을 제스처 정보 구조체에 GetGestureInfo 함수에 전달하여 검색됩니다.

다음 플래그는 제스처의 다양한 상태를 나타내며 dwFlags에 저장됩니다.

속성 Description
GF_BEGIN 0x00000001 제스처가 시작됩니다.
GF_INERTIA 0x00000002 제스처가 관성 트리거되었습니다.
GF_END 0x00000004 제스처가 완료되었습니다.

참고

대부분의 애플리케이션은 GID_BEGIN 무시하고 GID_ENDDefWindowProc에 전달해야 합니다. 이러한 메시지는 기본 제스처 처리기에서 사용됩니다. GID_BEGIN 및 GID_END 메시지가 타사 애플리케이션에서 사용되는 경우 애플리케이션 동작 은 정의되지 않습니다.

다음 표에서는 제스처에 대한 다양한 식별자를 나타냅니다.

속성 Description
GID_BEGIN 1 제스처가 시작됩니다.
GID_END 2 제스처가 종료됩니다.
GID_ZOOM 3 확대/축소 제스처입니다.
GID_PAN 4 이동 제스처입니다.
GID_ROTATE 5 회전 제스처입니다.
GID_TWOFINGERTAP 6 두 손가락 탭 제스처입니다.
GID_PRESSANDTAP 7 누르고 탭 제스처입니다.

참고

GID_PAN 제스처에는 관성 기능이 내장되어 있습니다. 이동 제스처가 끝나면 운영 체제에서 추가 이동 제스처 메시지를 만듭니다.

GESTUREINFO 구조체 멤버 ptsLocationullArguments점(POINTS 구조 사용)과 제스처에 따라 제스처에 대한 추가 정보를 지정합니다. 다음 표에서는 각 제스처 유형과 연결된 값을 나열합니다.

제스처 ID ullArguments ptsLocation
GID_ZOOM 두 점 사이의 거리를 나타냅니다. 확대/축소의 중심을 나타냅니다.
GID_PAN 두 점 사이의 거리를 나타냅니다. 팬의 현재 위치를 나타냅니다.
GID_ROTATE GF_BEGIN 플래그가 설정된 경우 회전 각도를 나타냅니다. 그렇지 않으면 회전이 시작된 이후의 각도 변경입니다. 회전 방향을 나타내기 위해 서명됩니다. GID_ROTATE_ANGLE_FROM_ARGUMENTGID_ROTATE_ANGLE_TO_ARGUMENT 매크로를 사용하여 각도 값을 가져와서 설정합니다. 이는 대상 개체가 회전되는 고정 지점인 회전의 중심을 나타냅니다.
GID_TWOFINGERTAP 두 손가락 사이의 거리를 나타냅니다. 두 손가락의 중심을 나타냅니다.
GID_PRESSANDTAP 첫 번째 손가락과 두 번째 손가락 사이의 델타를 나타냅니다. 이 값은 ullArguments 멤버의 하위 32비트에서 POINT 구조체에 저장됩니다. 첫 번째 손가락이 내려 오는 위치를 나타냅니다.

Windows 터치 제스처