InkCollector.Gesture イベント
アプリケーション ジェスチャが認識されたときに発生します。
名前空間 : 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 モードでインクの収集を回避する方法を次に示します。
CollectionMode を InkAndGesture に設定します。
ジェスチャ処理中のインクのフローを回避するには、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 列挙体の 4 つのジェスチャと関係があります。
' 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