다음을 통해 공유


InkCollector.Gesture 이벤트

업데이트: 2007년 11월

응용 프로그램 제스처가 인식될 때 발생합니다.

네임스페이스:  Microsoft.Ink
어셈블리:  Microsoft.Ink(Microsoft.Ink.dll)

구문

‘선언
Public Event Gesture As InkCollectorGestureEventHandler
‘사용 방법
Dim instance As InkCollector
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에서는 이벤트를 지원하지 않습니다.

설명

이 이벤트가 발생하려면 InkCollector 개체에 일련의 응용 프로그램 제스처에 대한 관심도가 있어야 합니다. 일련의 제스처에 대한 InkCollector 개체의 관심도를 설정하려면 SetGestureStatus 메서드를 호출합니다.

구체적인 응용 프로그램 제스처의 목록은 ApplicationGesture 열거형을 참조하십시오. 응용 프로그램 제스처에 대한 자세한 내용은 Pen Input, Ink, and Recognition을 참조하십시오.

이벤트 처리기는 이 이벤트에 대한 데이터가 들어 있는 InkCollectorGestureEventArgs 형식의 인수를 받습니다.

InkCollectorGestureEventHandler 대리자를 만들 때는 이벤트를 처리할 메서드를 식별합니다. 이벤트를 이벤트 처리기와 연결하려면 대리자의 인스턴스를 해당 이벤트에 추가합니다. 대리자를 제거하지 않는 경우 이벤트가 발생할 때마다 이벤트 처리기가 호출됩니다.

CollectionMode 속성이 GestureOnly로 설정된 경우 사용자가 제스처를 추가하는 시점과 Gesture 이벤트가 발생하는 시점 사이의 제한 시간은 프로그래밍 방식으로 변경할 수 없는 고정 값입니다. InkAndGesture 모드에서 제스처가 보다 빠르게 인식됩니다.

InkAndGesture 모드에서 잉크가 수집되지 않게 하려면 다음을 수행합니다.

CollectionModeInkAndGesture로 설정합니다.

  • Stroke 이벤트에서 Stroke 개체를 삭제합니다.

  • Gesture 이벤트의 제스처를 처리합니다.

제스처를 처리하는 동안 잉크의 흐름이 발생하지 않도록 하려면 DynamicRendering 속성을 false로 설정합니다.

사용자가 잉크를 삽입하는 동안만이 아니라 InkCollector 개체가 선택 또는 지우기 모드인 경우에도 Gesture 이벤트가 발생합니다. 사용자는 편집 모드를 직접 추적해야 하며 이벤트를 해석하기 전에 모드를 알고 있어야 합니다.

참고

제스처를 인식하려면 잉크를 수집할 수 있는 개체나 컨트롤을 사용해야 합니다.

참고

InkCollector 개체는 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;
        }
    }

}

관심을 표시한 응용 프로그램 제스처에서만 이 이벤트가 발생합니다. 이 예제에서 InkCollector 개체인 mInkCollector는 ApplicationGesture 열거형의 네 가지 제스처에 대한 관심도를 나타냅니다.

' set InkCollector interest in the Left, Right, Up, Down gestures
mInkCollector.SetGestureStatus(ApplicationGesture.Left, True)
mInkCollector.SetGestureStatus(ApplicationGesture.Right, True)
mInkCollector.SetGestureStatus(ApplicationGesture.Up, True)
mInkCollector.SetGestureStatus(ApplicationGesture.Down, True)
// set InkCollector interest in the Left, Right, Up, Down gestures
mInkCollector.SetGestureStatus(ApplicationGesture.Left, true);
mInkCollector.SetGestureStatus(ApplicationGesture.Right, true);
mInkCollector.SetGestureStatus(ApplicationGesture.Up, true);
mInkCollector.SetGestureStatus(ApplicationGesture.Down, true);

잉크 및 제스처를 수집하기 전에 InkCollector 개체인 mInkCollector는 이벤트 처리기를 등록합니다.

' register the Gesture event handler
AddHandler mInkCollector.Gesture, New InkCollectorGestureEventHandler(AddressOf Event_OnApplicationGesture)
// register the Gesture event handler
mInkCollector.Gesture += new InkCollectorGestureEventHandler(Event_OnApplicationGesture);

플랫폼

Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

3.0에서 지원

참고 항목

참조

InkCollector 클래스

InkCollector 멤버

Microsoft.Ink 네임스페이스

InkCollectorGestureEventArgs

ApplicationGesture

InkCollector.SetGestureStatus