Share via


InkOverlaySelectionMovedEventHandler (Delegado)

Actualización: noviembre 2007

Representa el método que controla el evento SelectionMoved de un objeto InkOverlay.

Espacio de nombres:  Microsoft.Ink
Ensamblado:  Microsoft.Ink (en Microsoft.Ink.dll)

Sintaxis

'Declaración
Public Delegate Sub InkOverlaySelectionMovedEventHandler ( _
    sender As Object, _
    e As InkOverlaySelectionMovedEventArgs _
)
'Uso
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 no admite delegados.

Parámetros

Comentarios

El evento SelectionMoved se produce cuando ha cambiado la posición de la selección actual, por ejemplo por alteraciones de la interfaz de usuario, procedimientos de cortar y pegar o la propiedad Selection.

Cuando se crea un delegado de InkOverlaySelectionMovedEventHandler, se identifica el método que controla el evento. Para asociar el evento al controlador de eventos, debe agregarle una instancia del delegado. Siempre que se produce el evento se llama al controlador de eventos, a menos que quite el delegado. Por motivos de rendimiento, el interés del evento predeterminado está desactivado en el código administrado, pero se activa automáticamente si se agrega un controlador de eventos.

Para obtener el nuevo rectángulo delimitador de la colección Strokes que se ha movido, llame al método Strokes.GetBoundingBox.

Ejemplos

En este ejemplo, un controlador de eventos SelectionMoved examina una selección una vez movida. Si la colección Strokes seleccionada se mueve de forma que alguna parte de la selección queda fuera de la sección izquierda o superior de la ventana, la selección se desplaza de nuevo a su posición original.

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;
    }
}

Plataformas

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Información de versión

.NET Framework

Compatible con: 3.0

Vea también

Referencia

Microsoft.Ink (Espacio de nombres)

InkOverlay.SelectionMoved

InkOverlay.SelectionMoving

Strokes