Condividi tramite


StylusPlugIn.OnStylusMove(RawStylusInput) Metodo

Definizione

Si verifica su un thread di penna quando la penna del Tablet PC si sposta sul digitalizzatore.

protected:
 virtual void OnStylusMove(System::Windows::Input::StylusPlugIns::RawStylusInput ^ rawStylusInput);
protected virtual void OnStylusMove (System.Windows.Input.StylusPlugIns.RawStylusInput rawStylusInput);
abstract member OnStylusMove : System.Windows.Input.StylusPlugIns.RawStylusInput -> unit
override this.OnStylusMove : System.Windows.Input.StylusPlugIns.RawStylusInput -> unit
Protected Overridable Sub OnStylusMove (rawStylusInput As RawStylusInput)

Parametri

rawStylusInput
RawStylusInput

RawStylusInput che contiene informazioni sull'input di penna.

Esempio

Nell'esempio seguente viene illustrato come eseguire l'override del OnStylusMove metodo . Per creare un oggetto StylusPlugIn che limita l'input penna a una determinata area, vedere la StylusPlugIn panoramica.

protected override void OnStylusMove(RawStylusInput rawStylusInput)
{
    // Run the base class before modifying the data
    base.OnStylusMove(rawStylusInput);

    // Get the StylusPoints that have come in
    StylusPointCollection stylusPoints = rawStylusInput.GetStylusPoints();

    // Modify the (X,Y) data to move the points 
    // inside the acceptable input area, if necessary
    for (int i = 0; i < stylusPoints.Count; i++)
    {
        StylusPoint sp = stylusPoints[i];
        if (sp.X < 50) sp.X = 50;
        if (sp.X > 250) sp.X = 250;
        if (sp.Y < 50) sp.Y = 50;
        if (sp.Y > 250) sp.Y = 250;
        stylusPoints[i] = sp;
    }

    // Copy the modified StylusPoints back to the RawStylusInput
    rawStylusInput.SetStylusPoints(stylusPoints);
}
Protected Overrides Sub OnStylusMove(ByVal rawStylusInput As RawStylusInput) 

    ' Run the base class before we modify the data
    MyBase.OnStylusMove(rawStylusInput)
    
    ' Get the StylusPoints that have come in
    Dim stylusPoints As StylusPointCollection = rawStylusInput.GetStylusPoints()
    
    ' Modify the (X,Y) data to move the points 
    ' inside the acceptable input area, if necessary.
    Dim i As Integer
    For i = 0 To stylusPoints.Count - 1

        Dim sp As StylusPoint = stylusPoints(i)

        If sp.X < 50 Then
            sp.X = 50
        End If

        If sp.X > 250 Then
            sp.X = 250
        End If

        If sp.Y < 50 Then
            sp.Y = 50
        End If

        If sp.Y > 250 Then
            sp.Y = 250
        End If

        stylusPoints(i) = sp

    Next i
    
    ' Copy the modified StylusPoints back to the RawStylusInput.
    rawStylusInput.SetStylusPoints(stylusPoints)

End Sub

Commenti

Questo metodo si verifica su un thread penna, quindi ridurre al minimo il lavoro in questo metodo per evitare effetti sulle prestazioni.

Si applica a