InkOverlay.Gesture 이벤트
업데이트: 2007년 11월
응용 프로그램 제스처가 인식될 때 발생합니다.
네임스페이스: Microsoft.Ink
어셈블리: Microsoft.Ink(Microsoft.Ink.dll)
구문
‘선언
Public Event Gesture As InkCollectorGestureEventHandler
‘사용 방법
Dim instance As InkOverlay
Dim handler As InkCollectorGestureEventHandler
AddHandler instance.Gesture, handler
public event InkCollectorGestureEventHandler Gesture
public:
event InkCollectorGestureEventHandler^ Gesture {
void add (InkCollectorGestureEventHandler^ value);
void remove (InkCollectorGestureEventHandler^ value);
}
/** @event */
public void add_Gesture (InkCollectorGestureEventHandler value)
/** @event */
public void remove_Gesture (InkCollectorGestureEventHandler value)
JScript에서는 이벤트를 지원하지 않습니다.
설명
이 이벤트가 발생하려면 InkOverlay 개체에 일련의 응용 프로그램 제스처에 대한 관심도가 있어야 합니다. 일련의 제스처에 대한 InkOverlay 개체의 관심도를 설정하려면 SetGestureStatus 메서드를 호출합니다.
구체적인 응용 프로그램 제스처의 목록은 ApplicationGesture 열거형 형식을 참조하십시오. 응용 프로그램 제스처에 대한 자세한 내용은 Command Input on the Tablet PC 및 Using Gestures을를 참조하십시오.
이벤트 처리기는 이 이벤트에 대한 데이터가 들어 있는 InkCollectorGestureEventArgs 형식의 인수를 받습니다.
InkCollectorGestureEventHandler 대리자를 만들 때는 이벤트를 처리할 메서드를 식별합니다. 이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 해당 이벤트에 추가합니다. 대리자를 제거하지 않는 경우 이벤트가 발생할 때마다 이벤트 처리기가 호출됩니다.
InkOverlay.CollectionMode 속성이 GestureOnly로 설정된 경우 사용자가 제스처를 추가하는 시점과 Gesture 이벤트가 발생하는 시점 사이의 제한 시간은 프로그래밍 방식으로 변경할 수 없는 고정 값입니다. InkAndGesture 모드에서 제스처가 보다 빠르게 인식됩니다.
InkAndGesture 모드에서 잉크가 수집되지 않게 하려면 다음을 수행합니다.
CollectionMode를 InkAndGesture로 설정합니다.
Stroke 이벤트에서 스트로크를 삭제합니다.
Gesture 이벤트의 제스처를 처리합니다.
제스처를 기록하는 동안 잉크의 흐름이 발생하지 않도록 하려면 DynamicRendering 속성을 false로 설정합니다.
잉크를 삽입하는 경우뿐만 아니라 선택 또는 지우기 모드인 경우에도 Gesture 이벤트가 발생합니다. 사용자는 편집 모드를 직접 추적해야 하며 이벤트를 해석하기 전에 모드를 알고 있어야 합니다.
참고
제스처를 인식하려면 잉크를 수집할 수 있는 개체나 컨트롤을 사용해야 합니다.
참고
InkOverlay 개체는 InkCollectorGestureEventHandler 대리자를 사용하여 제스처 이벤트 처리기를 추가합니다.
예제
이 예제의 이벤트 처리기는 응용 프로그램 제스처 정보를 상태 표시줄 레이블인 statusLabelAppGesture에 표시합니다.
Private Sub Event_OnApplicationGesture(ByVal sender As Object, ByVal e As InkCollectorGestureEventArgs)
' There might be more than one gesture passed in InkCollectorGestureEventArgs
' The gestures are arranged in order of confidence from most to least
' This event handler is only concerned with the first (most confident) gesture
Dim G As Gesture = e.Gestures(0)
' we will use the gesture if it has confidence of strong or intermediate
If G.Confidence = RecognitionConfidence.Intermediate Or _
G.Confidence = RecognitionConfidence.Strong Then
Select Case G.Id
Case ApplicationGesture.Left
statusLabelAppGesture.Text = "Left"
Case ApplicationGesture.Right
statusLabelAppGesture.Text = "Right"
Case ApplicationGesture.Up
statusLabelAppGesture.Text = "Up"
Case ApplicationGesture.Down
statusLabelAppGesture.Text = "Down"
End Select
End If
End Sub
void Event_OnApplicationGesture(object sender, InkCollectorGestureEventArgs e)
{
// There might be more than one gesture passed in InkCollectorGestureEventArgs
// The gestures are arranged in order of confidence from most to least
// This event handler is only concerned with the first (most confident) gesture
Gesture G = e.Gestures[0];
// we will use the gesture if it has confidence of strong or intermediate
if (G.Confidence == RecognitionConfidence.Intermediate ||
G.Confidence == RecognitionConfidence.Strong)
{
switch (G.Id)
{
case ApplicationGesture.Left:
statusLabelAppGesture.Text = "Left";
break;
case ApplicationGesture.Right:
statusLabelAppGesture.Text = "Right";
break;
case ApplicationGesture.Up:
statusLabelAppGesture.Text = "Up";
break;
case ApplicationGesture.Down:
statusLabelAppGesture.Text = "Down";
break;
}
}
}
관심을 표시한 응용 프로그램 제스처에서만 이 이벤트가 발생합니다. 이 예제에서 InkOverlay 개체인 mInkOverlay는 ApplicationGesture 열거형의 네 가지 제스처에 대한 관심을 표시합니다.
' set InkOverlay interest in the Left, Right, Up, Down gestures
mInkOverlay.SetGestureStatus(ApplicationGesture.Left, True)
mInkOverlay.SetGestureStatus(ApplicationGesture.Right, True)
mInkOverlay.SetGestureStatus(ApplicationGesture.Up, True)
mInkOverlay.SetGestureStatus(ApplicationGesture.Down, True)
// set InkOverlay interest in the Left, Right, Up, Down gestures
mInkOverlay.SetGestureStatus(ApplicationGesture.Left, true);
mInkOverlay.SetGestureStatus(ApplicationGesture.Right, true);
mInkOverlay.SetGestureStatus(ApplicationGesture.Up, true);
mInkOverlay.SetGestureStatus(ApplicationGesture.Down, true);
잉크 및 제스처를 수집하기 전에 InkOverlay 개체인 mInkOverlay는 이벤트 처리기를 등록합니다.
' register the Gesture event handler
AddHandler mInkOverlay.Gesture, New InkCollectorGestureEventHandler(AddressOf Event_OnApplicationGesture)
// register the Gesture event handler
mInkOverlay.Gesture += new InkCollectorGestureEventHandler(Event_OnApplicationGesture);
플랫폼
Windows Vista
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
버전 정보
.NET Framework
3.0에서 지원