Поделиться через


StylusPlugIn.OnStylusUp(RawStylusInput) Метод

Определение

Генерируется для потока в пуле потоков пера, когда планшетное перо отрывается от планшета.

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

Параметры

rawStylusInput
RawStylusInput

Объект RawStylusInput, содержащий сведения о вводе от пера.

Примеры

В следующем примере показано, как переопределить OnStylusUp метод . Сведения о создании объекта , StylusPlugIn ограничивающего рукописный ввод определенной областью, см. в обзоре StylusPlugIn .

protected override void OnStylusUp(RawStylusInput rawStylusInput)
{
    // Run the base class before modifying the data
    base.OnStylusUp(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 OnStylusUp(ByVal rawStylusInput As RawStylusInput) 

    ' Run the base class before we modify the data
    MyBase.OnStylusUp(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

Комментарии

Этот метод применяется в потоке пера, поэтому сведите к минимуму работу в этом методе, чтобы избежать снижения производительности.

Применяется к