StylusPoint Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje jeden datový bod shromážděný z digitizátoru a pera.
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)
- Dědičnost
- Implementuje
Příklady
Následující příklad získá názvy vlastností a hodnoty pro každou StylusPoint vlastnost v objektu StylusPointCollection. V tomto příkladu se předpokládá, že existuje TextBlock s názvem 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
Poznámky
Nástroj StylusPoint shromažďuje data, když uživatel zadá rukopis pomocí digitizátoru. Vzhledem k tomu, že informace, které digitizátor hlásí, se liší v závislosti na výrobci, mohou se vlastnosti v rámci objektu StylusPoint lišit. Chcete-li zjistit, zda je vlastnost v StylusPoint, zavolejte metodu HasProperty . Vlastnost Description obsahuje vlastnost StylusPointDescription , která určuje, které vlastnosti jsou v objektu StylusPoint. Všechny StylusPoint objekty obsahují vlastnosti, které určují souřadnice (x, y) a také tlak.
Konstruktory
StylusPoint(Double, Double) |
Inicializuje novou instanci třídy pomocí zadaných StylusPoint souřadnic (x, y). |
StylusPoint(Double, Double, Single) |
Inicializuje novou instanci třídy pomocí zadaných StylusPoint souřadnic (x, y) a tlaku. |
StylusPoint(Double, Double, Single, StylusPointDescription, Int32[]) |
Inicializuje novou instanci třídy pomocí zadaných StylusPoint souřadnic |
Pole
MaxXY |
Určuje největší platnou hodnotu pro dvojici souřadnic (x, y). |
MinXY |
Určuje nejmenší platnou hodnotu pro dvojici souřadnic (x, y). |
Vlastnosti
Description |
Získá nebo nastaví vlastnost StylusPointDescription , která určuje vlastnosti uložené v StylusPoint. |
PressureFactor |
Získá nebo nastaví hodnotu mezi 0 a 1, která odráží množství tlaku pera aplikuje na povrch digitalizátoru při StylusPoint vytvoření. |
X |
Získá nebo nastaví hodnotu souřadnice x objektu StylusPoint. |
Y |
Získá nebo nastaví souřadnici StylusPointy . |
Metody
Equals(Object) |
Vrátí hodnotu označující, zda se zadaný objekt rovná hodnotě StylusPoint. |
Equals(StylusPoint) |
Vrátí logickou hodnotu, která označuje, zda je zadaná StylusPoint hodnota rovna aktuální StylusPointhodnotě . |
Equals(StylusPoint, StylusPoint) |
Vrátí logickou hodnotu, která označuje, zda jsou si dva zadané StylusPoint objekty rovny. |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. |
GetPropertyValue(StylusPointProperty) |
Vrátí hodnotu zadané vlastnosti. |
HasProperty(StylusPointProperty) |
Vrátí, zda aktuální StylusPoint obsahuje zadanou vlastnost. |
SetPropertyValue(StylusPointProperty, Int32) |
Nastaví zadanou vlastnost na zadanou hodnotu. |
ToPoint() |
Převede na StylusPointPoint. |
Operátory
Equality(StylusPoint, StylusPoint) |
Porovná dva zadané StylusPoint objekty a určí, zda jsou si rovny. |
Explicit(StylusPoint to Point) |
Přetypuje zadanou StylusPointPointhodnotu na . |
Inequality(StylusPoint, StylusPoint) |
Vrátí logickou hodnotu, která označuje, zda jsou zadané StylusPoint objekty nerovné. |