StylusPoint Structure
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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 |
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. |