다음을 통해 공유


시스템 이벤트 및 마우스 메시지

애플리케이션은 Microsoft Windows 마우스 메시지와 시스템 이벤트를 모두 전송하여 태블릿 펜의 최적의 디자인과 사용을 통합합니다. 애플리케이션은 각 펜 이동 또는 동작에 대한 이벤트 집합을 모두 받습니다. 그런 다음 애플리케이션은 작업의 컨텍스트에 따라 사용할 적절한 이벤트를 선택합니다. Windows 마우스 메시지는 활동을 가리키고 선택하는 데 적합하며 UI(사용자 인터페이스) 요소와의 상호 작용을 포함하는 활동에 사용해야 합니다. 펜 이벤트는 실시간 잉크 응용 프로그램, 펜 작업 및 필기에서 잘 작동합니다.

참고 항목

펜 이벤트와 마우스 메시지는 펜 또는 마우스 사용 여부에 관계 없이 애플리케이션으로 전송됩니다.

마우스 및 터치와 펜 입력 구분

애플리케이션이 마우스 메시지(예: WM_LBUTTONDOWN)를 수신하면 GetMessageExtraInfo 함수를 호출하여 메시지가 펜 또는 마우스 장치에서 발생했는지 여부를 평가할 수 있습니다.

GetMessageExtraInfo에서 반환된 값은 0xFFFFFF00 대해 마스크 검사 0xFF515700 비교해야 합니다. 다음 정의는 이를 더 명확하게 만들 수 있습니다.

#define MI_WP_SIGNATURE 0xFF515700
#define SIGNATURE_MASK 0xFFFFFF00
#define IsPenEvent(dw) (((dw) & SIGNATURE_MASK) == MI_WP_SIGNATURE

비교가 true이면 이 마우스 메시지가 태블릿 PC 펜 또는 터치 스크린에 의해 생성되었습니다. 다른 모든 경우에서는 이 메시지가 마우스 디바이스에 의해 생성되었다고 가정할 수 있습니다.

GetMessageExtraInfo에서 반환된 하위 8비트가 변수입니다. 이러한 비트 중 7(0x7F 의해 마스킹된 하위 7)은 커서 ID, 마우스의 경우 0 또는 펜 ID의 변수 값을 나타내는 데 사용됩니다. 또한 Windows Vista에서는 0x80 의해 마스킹된 여덟 번째 비트가 펜 입력(0 = 펜, 1 = 터치)과 터치 입력을 구분하는 데 사용됩니다.

자세한 내용은 포인터 장치 입력 및 터치 입력을 참조하세요.

지원되는 시스템 제스처

다음 표에서는 현재 Windows XP Tablet PC Edition에 포함된 시스템 제스처를 나열하고, 해당 펜 작업 및 시스템 이벤트를 자세히 설명하며, 기존 마우스 동작과 관련된 방법을 보여 줍니다.

펜 제스처 마우스 작업 펜 제스처 설명 이벤트 메시지 마우스 메시지 Windows 기반 애플리케이션의 동작
누르기
마우스 왼쪽 단추로 클릭
펜으로 화면을 한 번 탭합니다.
ISG_TAP 펜을 들어 올릴 때 전송됩니다.
펜을 들어 올릴 때 WM_LBUTTONDOWN 및 WM_LBUTTONUP 전송됩니다.
메뉴 또는 도구 모음에서 명령을 선택하고, 명령을 선택한 경우 작업을 수행하며, IP(삽입 지점)를 설정하고, 선택 피드백을 표시합니다.
두 번 탭
두 번 클릭
빠른 연속으로 화면을 두 번 탭합니다.
ISG_DOUBLETAP 두 번째 탭(아래쪽)에서 전송됩니다. 첫 번째 탭에서 전송된 ISG_TAP 이벤트입니다.
WM_LBUTTONDBLCLK 두 번째 탭(아래쪽)에 전송됩니다. WM_LBUTTONDOWN 및 WM_LBUTTONUP 한 번의 탭으로 첫 번째 탭(위쪽)에 전송됩니다.
단어를 선택하고 파일 또는 폴더를 엽니다.
길게 누르기
그런 다음
화면을 탭하고 마우스 아이콘이 나타날 때까지 길게 누른 다음 펜을 들어 올려 바로 가기 메뉴를 표시합니다. 애플리케이션은 펜을 들어 올릴 때 오른쪽 클릭 메뉴를 표시하는 작업과 다른 작업을 수행하도록 선택할 수 있습니다.
펜이 충분히 오래 내려갔을 때 ISG_HOLDENTER 전송되었습니다. ISG_RIGHTTAP 펜이 들어 올려지고 마우스 오른쪽 단추 클릭이 발생할 때 전송됩니다.
마우스 오른쪽 단추를 클릭할 때(펜이 들어올릴 때) WM_RBUTTONDOWN 및 WM_RBUTTONUP 전송됩니다.
바로 가기 메뉴를 표시합니다.
홀드스루
마우스 왼쪽 단추로 클릭
화면을 탭하고 마우스 아이콘이 나타나고 사라질 때까지 길게 누릅니다. 사용자는 사고 집계를 길게 누르고 탭하기만 되돌리기 때 이 작업을 수행할 수 있습니다.
ISG_TAP 펜을 들어 올릴 때 전송됩니다.
펜을 들어 올릴 때 WM_LBUTTONDOWN 및 WM_LBUTTONUP 전송됩니다.
오랫동안 마우스 왼쪽 단추를 클릭합니다. 마우스에 해당하는 항목이 없습니다. 이는 사용자가 오랫동안 길게 누르고 있는 경우에 대한 대체입니다. 이벤트는 탭으로 되돌리기.
끌기
왼쪽 끌기
화면을 탭하여 이동할 개체를 선택한 다음 개체를 선택한 후 끌어옵니다.
끌기가 시작될 때 전송되는 ISG_DRAG.
WM_LBUTTONDOWN 끌기가 시작될 때 전송된 다음 일련의 마우스 이동 메시지와 WM_LBUTTONUP 이벤트가 뒤따릅니다.
IP로 시작할 때 Microsoft Word에서와 같이 끌어서 선택합니다. 여러 단어를 선택합니다. Windows에서 개체를 끌 때와 같이 끌어옵니다. 스크롤.
길게 누른 다음 끌기
오른쪽 끌기
화면을 탭하여 이동할 개체를 선택합니다. 마우스 아이콘이 나타날 때까지 길게 누른 다음 끌어 개체를 이동합니다. 펜을 들어 올려 바로 가기 메뉴를 표시합니다.
ISG_HOLDENTER 펜이 몇 시간 동안 다운되었을 때 전송됩니다. 끌기가 시작될 때 전송되는 ISG_RIGHTDRAG.
끌기가 시작될 때 전송된 WM_RBUTTONDOWN 일련의 마우스 이동 메시지와 WM_RBUTTONUP 이벤트가 뒤따릅니다.
개체 또는 선택 영역을 끌어서 상황에 맞는 메뉴로 끌어다 옵니다.
펜 가리키기
마우스 가리키기
화면에서 작은 거리에서 펜을 안정적으로 유지합니다.
ISG_HOVERENTER 이벤트가 처음에 전송되었습니다. 가리키기 간격이 완료되면 ISG_HOVERLEAVEis 전송됩니다.
해당하는 마우스 메시지가 없습니다.
도구 설명, 롤오버 효과 및 기타 마우스 가리키기 동작을 표시합니다.
공중 쉐이크
태블릿 PC 입력 패널을 표시 합니다. 마우스에 해당하는 항목이 없습니다.
펜을 좌우로 빠르게 이동하여 위의 팁을 들고 화면 범위 내에서 이동합니다.
이벤트가 애플리케이션에 전달되지 않습니다.
해당하는 마우스 메시지가 없습니다.
새로운, 태블릿 PC에 특정.

 

스타일러스 및 터치 조작 지정

기본적으로 창은 모든 시스템 제스처 이벤트를 수신하고 기본 상호 작용 모델을 사용합니다. 이 모델의 일부 부분이 애플리케이션을 방해할 수 있으므로 WndProc의 WM_TABLET_QUERYSYSTEMGESTURESTATUS 메시지에 응답하여 선택적으로 사용하지 않도록 설정할 수 있습니다.