Partage via


StylusPoint Structure

Définition

Représente un point de données unique recueilli à partir du digitaliseur et du stylet.

public value class StylusPoint : IEquatable<System::Windows::Input::StylusPoint>
public struct StylusPoint : IEquatable<System.Windows.Input.StylusPoint>
type StylusPoint = struct
Public Structure StylusPoint
Implements IEquatable(Of StylusPoint)
Héritage
StylusPoint
Implémente

Exemples

L’exemple suivant obtient des noms de propriétés et des valeurs pour chacune StylusPoint d’elles dans un StylusPointCollection. Cet exemple suppose qu’il existe un TextBlock appelé packetOutput.

private void WriteStylusPointValues(StylusPointCollection points)
{
    StylusPointDescription pointsDescription = points.Description;

    ReadOnlyCollection<StylusPointPropertyInfo> properties = 
        pointsDescription.GetStylusPointProperties();
    
    // Write the name and value of each property in
    // every stylus point.
    StringWriter packetWriter = new StringWriter();
    packetWriter.WriteLine("{0} stylus points", points.Count.ToString());
    foreach (StylusPoint stylusPoint in points)
    {
        packetWriter.WriteLine("Stylus Point info");
        packetWriter.WriteLine("X: {0}", stylusPoint.X.ToString());
        packetWriter.WriteLine("Y: {0}", stylusPoint.Y.ToString());
        packetWriter.WriteLine("Pressure: {0}", stylusPoint.PressureFactor.ToString());

        // Get the property name and value for each StylusPoint.
        // Note that this loop reports the X, Y, and pressure values differantly than 
        // getting their values above.
        for (int i = 0; i < pointsDescription.PropertyCount; ++i)
        {
            StylusPointProperty currentProperty = properties[i];

            // GetStylusPointPropertyName is defined below and returns the
            // name of the property.
            packetWriter.Write("{0}: ", GetStylusPointPropertyName(currentProperty));
            packetWriter.WriteLine(stylusPoint.GetPropertyValue(currentProperty).ToString());
        }
        packetWriter.WriteLine();
    }

    packetOutput.Text = packetWriter.ToString();
}
Private Sub WriteStylusPointValues(ByVal points As StylusPointCollection) 
    Dim pointsDescription As StylusPointDescription = points.Description
    
    Dim properties As ReadOnlyCollection(Of StylusPointPropertyInfo) = _
                            pointsDescription.GetStylusPointProperties()
    
    ' Write the name and value of each property in
    ' every stylus point.
    Dim packetWriter As New StringWriter()

    packetWriter.WriteLine("{0} stylus points", points.Count.ToString())

    For Each stylusPoint As StylusPoint In points

        packetWriter.WriteLine("Stylus Point info")
        packetWriter.WriteLine("X: {0}", stylusPoint.X.ToString())
        packetWriter.WriteLine("Y: {0}", stylusPoint.Y.ToString())
        packetWriter.WriteLine("Pressure: {0}", stylusPoint.PressureFactor.ToString())

        ' Get the property name and value for each StylusPoint.
        ' Note that this loop reports the X, Y, and pressure values differantly than 
        ' getting their values above.
        For i As Integer = 0 To pointsDescription.PropertyCount - 1

            Dim currentProperty As StylusPointProperty = properties(i)

            ' GetStylusPointPropertyName is defined below and returns the
            ' name of the property.
            packetWriter.Write("{0}: ", GetStylusPointPropertyName(currentProperty))
            packetWriter.WriteLine(stylusPoint.GetPropertyValue(currentProperty).ToString())
        Next i

        packetWriter.WriteLine()

    Next stylusPoint

    packetOutput.Text = packetWriter.ToString()

End Sub
// Use reflection to get the name of currentProperty.
private string GetStylusPointPropertyName(StylusPointProperty currentProperty)
{
    Guid guid = currentProperty.Id;

    // Iterate through the StylusPointProperties to find the StylusPointProperty
    // that matches currentProperty, then return the name.
    foreach (FieldInfo theFieldInfo
        in typeof(StylusPointProperties).GetFields())
    {
        StylusPointProperty property = (StylusPointProperty) theFieldInfo.GetValue(currentProperty);
        if (property.Id == guid)
        {
            return theFieldInfo.Name;
        }
    }
    return "Not found";
}
' Use reflection to get the name of currentProperty.
Private Function GetStylusPointPropertyName(ByVal currentProperty As StylusPointProperty) As String 
    Dim guid As Guid = currentProperty.Id
    
    ' Iterate through the StylusPointProperties to find the StylusPointProperty
    ' that matches currentProperty, then return the name.
    Dim theFieldInfo As FieldInfo

    For Each theFieldInfo In GetType(StylusPointProperties).GetFields()

        Dim pointProperty As StylusPointProperty = _
            CType(theFieldInfo.GetValue(currentProperty), StylusPointProperty)

        If pointProperty.Id = guid Then
            Return theFieldInfo.Name
        End If

    Next theFieldInfo

    Return "Not found"

End Function 'GetStylusPointPropertyName

Remarques

Un StylusPoint collecte des données lorsqu’un utilisateur entre de l’encre à l’aide du numériseur. Étant donné que les informations qu’un numériseur signale diffèrent selon le fabricant, les propriétés d’un StylusPoint peuvent varier. Pour déterminer si une propriété se trouve dans , StylusPointappelez la HasProperty méthode . La Description propriété contient un StylusPointDescription qui spécifie quelles propriétés se trouvent dans le StylusPoint. Tous les StylusPoint objets contiennent des propriétés qui spécifient les coordonnées (x, y), ainsi que la pression.

Constructeurs

StylusPoint(Double, Double)

Initialise une nouvelle instance de la classe StylusPoint à l’aide des coordonnées (x, y) spécifiées.

StylusPoint(Double, Double, Single)

Initialise une nouvelle instance de la classe StylusPoint à l'aide des coordonnées (x, y) spécifiées et de la pression.

StylusPoint(Double, Double, Single, StylusPointDescription, Int32[])

Initialise une nouvelle instance de la classe StylusPoint à l’aide des coordonnées (x, y) spécifiées, un pressureFactor et des paramètres supplémentaires spécifiés dans la StylusPointDescription.

Champs

MaxXY

Spécifie la plus grande valeur valide pour une paire de coordonnées (x, y).

MinXY

Spécifie la plus petite valeur valide pour une paire de coordonnées (x, y).

Propriétés

Description

Obtient ou définit le StylusPointDescription qui spécifie les propriétés stockées dans le StylusPoint.

PressureFactor

Obtient ou définit une valeur entre 0 et 1 qui reflète la quantité de pression que le stylet applique à la surface du digitaliseur lorsque le StylusPoint est créé.

X

Obtient ou définit la valeur de la coordonnée x du StylusPoint.

Y

Obtient ou définit la coordonnée y du StylusPoint.

Méthodes

Equals(Object)

Retourne une valeur indiquant si l'objet spécifié est égal au StylusPoint.

Equals(StylusPoint)

Retourne une valeur booléenne qui indique si le StylusPoint spécifié est égal au StylusPointactuel.

Equals(StylusPoint, StylusPoint)

Retourne une valeur booléenne qui indique si les deux objets StylusPoint spécifiés sont égaux.

GetHashCode()

Retourne le code de hachage de cette instance.

GetPropertyValue(StylusPointProperty)

Retourne la valeur de la propriété spécifiée.

HasProperty(StylusPointProperty)

Retourne si le StylusPoint actuel contient la propriété spécifiée.

SetPropertyValue(StylusPointProperty, Int32)

Définit la propriété spécifiée sur la valeur indiquée.

ToPoint()

Convertit une StylusPoint en une Point.

Opérateurs

Equality(StylusPoint, StylusPoint)

Compare deux objets StylusPoint spécifiés et détermine s'ils sont égaux.

Explicit(StylusPoint to Point)

Caste le StylusPoint spécifié en Point.

Inequality(StylusPoint, StylusPoint)

Retourne une valeur booléenne qui indique si les objets StylusPoint spécifiés sont inégaux.

S’applique à