次の方法で共有


InkPicture.CursorInRange イベント

カーソルがタブレット コンテキストの物理検出領域 (近接) に入ったときに発生します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public Event CursorInRange As InkCollectorCursorInRangeEventHandler
'使用
Dim instance As InkPicture
Dim handler As InkCollectorCursorInRangeEventHandler

AddHandler instance.CursorInRange, handler
public event InkCollectorCursorInRangeEventHandler CursorInRange
public:
 event InkCollectorCursorInRangeEventHandler^ CursorInRange {
    void add (InkCollectorCursorInRangeEventHandler^ value);
    void remove (InkCollectorCursorInRangeEventHandler^ value);
}
/** @event */
public void add_CursorInRange (InkCollectorCursorInRangeEventHandler value)
/** @event */
public void remove_CursorInRange (InkCollectorCursorInRangeEventHandler value)
JScript では、イベントは使用できません。

解説

イベント ハンドラは、このイベントについてのデータを格納している InkCollectorCursorInRangeEventArgs 型の引数を受け取ります。

InkCollectorCursorInRangeEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを指定します。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。パフォーマンス上の理由から、既定のイベント対象は無効ですが、イベント ハンドラを追加すると、自動的に有効になります。

CursorInRange イベントは、インク モードの場合のみではなく選択モードまたは消去モードの場合でも発生します。このため、編集モードを監視し (設定が必要)、イベントを解釈する前にモードを認識する必要があります。この要件の利点は、プラットフォーム イベントの認識がより容易になることにより、プラットフォーム上での新しい技術の導入がより可能になることです。

この例では、CursorInRange イベントが発生するときに、InkPicture オブジェクトがこの特定の Cursor オブジェクトとやり取りを行ったのがこれが初めてであるかどうかを確認するチェックが行われます。初めてである場合は、DefaultDrawingAttributes プロパティの複製を使用して、DrawingAttributes プロパティが割り当てられます。これにより、以降の DrawingAttributes プロパティへのアクセスで、Null 参照例外がスローされなくなります。

Private Sub mInkObject_CursorInRange(ByVal sender As Object, ByVal e As InkCollectorCursorInRangeEventArgs)
    Const MOUSE_CURSOR_ID As Integer = 1
    If e.NewCursor Then
        ' mInkObject can be InkCollector, InkOverlay, or InkPicture
        e.Cursor.DrawingAttributes = mInkObject.DefaultDrawingAttributes.Clone()
        ' if this cursor is the mouse, we'll set color to red
        If (MOUSE_CURSOR_ID = e.Cursor.Id) Then
            e.Cursor.DrawingAttributes.Color = Color.Red
        End If

    End If
End Sub
private void mInkObject_CursorInRange(object sender, InkCollectorCursorInRangeEventArgs e)
{
    const int MOUSE_CURSOR_ID = 1;

    if (e.NewCursor)
    {
        // mInkObject can be InkCollector, InkOverlay, or InkPicture
        e.Cursor.DrawingAttributes = mInkObject.DefaultDrawingAttributes.Clone();
        // if this cursor is the mouse, we'll set color to red
        if (MOUSE_CURSOR_ID == e.Cursor.Id)
        {
            e.Cursor.DrawingAttributes.Color = Color.Red;
        }
    }
}

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

InkPicture クラス

InkPicture メンバ

Microsoft.Ink 名前空間

Cursor

InkCollectorCursorInRangeEventArgs

InkCollectorCursorInRangeEventHandler

InkPicture.OnCursorInRange

Tablet