次の方法で共有


InkOverlaySelectionMovedEventHandler デリゲート

InkOverlay オブジェクトの SelectionMoved イベントを処理するメソッドを表します。

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

構文

'宣言
Public Delegate Sub InkOverlaySelectionMovedEventHandler ( _
    sender As Object, _
    e As InkOverlaySelectionMovedEventArgs _
)
'使用
Dim instance As New InkOverlaySelectionMovedEventHandler(AddressOf HandlerMethod)
public delegate void InkOverlaySelectionMovedEventHandler(
    Object sender,
    InkOverlaySelectionMovedEventArgs e
)
public delegate void InkOverlaySelectionMovedEventHandler(
    Object^ sender, 
    InkOverlaySelectionMovedEventArgs^ e
)
/** @delegate */
public delegate void InkOverlaySelectionMovedEventHandler(
    Object sender,
    InkOverlaySelectionMovedEventArgs e
)
JScript では、デリゲートは使用できません。

パラメータ

解説

SelectionMoved イベントは、ユーザー インターフェイスの変更、切り取りと貼り付けの操作、または Selection プロパティなどによって、現在の選択内容の位置が変更されたときに発生します。

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

移動された Strokes コレクションの新しい外接する四角形を取得するには、Strokes.GetBoundingBox メソッドを呼び出します。

この例では、SelectionMoved イベント ハンドラが、移動後に選択を調べます。選択した Strokes コレクションを移動して、選択内容のいずれかがウィンドウの左側または上側から離れた場合、選択内容が元の位置に戻されます。

Private Sub mInkObject_SelectionMoved(ByVal sender As Object, ByVal e As InkOverlaySelectionMovedEventArgs)
    ' mInkObject can be InkOverlay or InkPicture
    Dim newBounds As Rectangle = mInkObject.Selection.GetBoundingBox()
    ' Check if we have gone off the left or top sides of the window.
    If (newBounds.Left < 0 Or newBounds.Top < 0) Then
        ' Move to back to original spot
        mInkObject.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left, _
            e.OldSelectionBoundingRect.Top - newBounds.Top)
        ' Trick to insure that selection handles are updated
        mInkObject.Selection = mInkObject.Selection
    End If
End Sub
private void mInkObject_SelectionMoved(object sender, InkOverlaySelectionMovedEventArgs e)
{
    // mInkObject can be InkOverlay or InkPicture
    Rectangle newBounds = mInkObject.Selection.GetBoundingBox();

    // Check if we have gone off the left or top sides of the window.
    if (newBounds.Left < 0 || newBounds.Top < 0)
    {
        // Move to back to original spot
        mInkObject.Selection.Move(e.OldSelectionBoundingRect.Left - newBounds.Left,
            e.OldSelectionBoundingRect.Top - newBounds.Top);

        // Trick to insure that selection handles are updated
        mInkObject.Selection = mInkObject.Selection;
    }
}

プラットフォーム

Windows Vista

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

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

Microsoft.Ink 名前空間

InkOverlay.SelectionMoved

InkOverlay.SelectionMoving

Strokes