StylusPoint Estrutura

Definição

Representa um único ponto de dados recolhido do digitalizador e da caneta stylus.

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)
Herança
StylusPoint
Implementações

Exemplos

O exemplo seguinte obtém nomes e valores de propriedades para cada StylusPoint um de um StylusPointCollection. Este exemplo assume que existe um TextBlock chamado 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

Observações

A StylusPoint recolhe dados quando um utilizador insere tinta usando o digitalizador. Como a informação que um digitalizador reporta varia consoante o fabricante, as propriedades dentro de um StylusPoint podem variar. Para determinar se uma propriedade pertence ao StylusPoint, chame-se o HasProperty método. A Description propriedade contém um StylusPointDescription que especifica quais as propriedades que pertencem ao StylusPoint. Todos os StylusPoint objetos contêm propriedades que especificam as coordenadas (x, y), bem como a pressão.

Construtores

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

Inicializa uma nova instância da StylusPoint classe usando coordenadas (x, y) especificadas, a pressureFactor, e parâmetros adicionais especificados no StylusPointDescription.

StylusPoint(Double, Double, Single)

Inicializa uma nova instância da StylusPoint classe usando coordenadas e pressão especificadas (x, y).

StylusPoint(Double, Double)

Inicializa uma nova instância da StylusPoint classe usando coordenadas (x, y) especificadas.

Campos

Name Description
MaxXY

Especifica o maior valor válido para um par de coordenadas (x, y).

MinXY

Especifica o menor valor válido para um par de coordenadas (x, y).

Propriedades

Name Description
Description

Obtém ou define o StylusPointDescription que especifica as propriedades armazenadas no StylusPoint.

PressureFactor

Recebe ou define um valor entre 0 e 1 que reflete a quantidade de pressão que a agulha aplica à superfície do digitalizador quando este StylusPoint é criado.

X

Obtém ou define o valor para a coordenada x da StylusPoint.

Y

Obtém ou define a coordenada y da StylusPoint.

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se o objeto especificado é igual ao StylusPoint.

Equals(StylusPoint, StylusPoint)

Devolve um valor booleano que indica se os dois objetos especificados StylusPoint são iguais.

Equals(StylusPoint)

Devolve um valor booleano que indica se o especificado StylusPoint é igual ao atual StylusPoint.

GetHashCode()

Devolve o código de hash para esta instância.

GetPropertyValue(StylusPointProperty)

Devolve o valor da propriedade especificada.

HasProperty(StylusPointProperty)

Devolve se a corrente StylusPoint contém a propriedade especificada.

SetPropertyValue(StylusPointProperty, Int32)

Define a propriedade especificada para o valor especificado.

ToPoint()

Converte a StylusPoint em um Pointarquivo .

Operadores

Name Description
Equality(StylusPoint, StylusPoint)

Compara dois objetos especificados StylusPoint e determina se são iguais.

Explicit(StylusPoint to Point)

Lança o especificado StylusPoint para um Point.

Inequality(StylusPoint, StylusPoint)

Devolve um valor booleano que indica se os objetos especificados StylusPoint são desiguais.

Aplica-se a