Freigeben über


StylusPlugIn.OnStylusDown(RawStylusInput) Methode

Definition

Tritt in einem Thread im Stiftthreadpool auf, wenn der Tablettstift den Digitizer berührt.

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

Parameter

rawStylusInput
RawStylusInput

Eine RawStylusInput, die Informationen über Eingaben des Stifts enthält.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie sie die OnStylusDown Methode außer Kraft setzen. Informationen zum Erstellen einer StylusPlugIn Freihandeingabe auf einen bestimmten Bereich finden Sie in der StylusPlugIn Übersicht.

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

Hinweise

Diese Methode tritt auf einem Stiftthread auf, so minimieren Sie die Arbeit in dieser Methode, um auswirkungen auf die Leistung zu vermeiden.

Gilt für