PointerPointProperties Clase

Definición

Proporciona propiedades extendidas para un objeto PointerPoint .

En la mayoría de los casos, te recomendamos que obtengas información de puntero a través de los controladores de eventos de puntero del marco de lenguaje Windows 8 elegido (aplicación de Windows con JavaScript, aplicación para UWP con C++, C#o Visual Basic o aplicación para UWP mediante DirectX con C++).

Si el argumento de evento no expone los detalles del puntero requeridos por la aplicación, puede obtener acceso a los datos de puntero extendidos desde el argumento de evento a través de los métodos getCurrentPoint y getIntermediatePoints o las propiedades currentPoint e intermedios . Se recomienda usar los métodos getCurrentPoint y getIntermediatePoints , ya que puede especificar el contexto de los datos del puntero.

Los métodos estáticos PointerPoint , GetCurrentPoint y GetIntermediatePoints, siempre usan el contexto de la aplicación.

public ref class PointerPointProperties sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
class PointerPointProperties final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
public sealed class PointerPointProperties
Public NotInheritable Class PointerPointProperties
Herencia
Object Platform::Object IInspectable PointerPointProperties
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 (se introdujo en la versión 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)

Ejemplos

En el ejemplo siguiente, consultamos varias propiedades de puntero extendidas mediante un objeto PointerPoint .

String queryPointer(PointerPoint ptrPt)
{
    String details = "";

    switch (ptrPt.PointerDevice.PointerDeviceType)
    {
        case Windows.Devices.Input.PointerDeviceType.Mouse:
            details += "\nPointer type: mouse";
            break;
        case Windows.Devices.Input.PointerDeviceType.Pen:
            details += "\nPointer type: pen";
            if (ptrPt.IsInContact)
            {
                details += "\nPressure: " + ptrPt.Properties.Pressure;
                details += "\nrotation: " + ptrPt.Properties.Orientation;
                details += "\nTilt X: " + ptrPt.Properties.XTilt;
                details += "\nTilt Y: " + ptrPt.Properties.YTilt;
                details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
            }
            break;
        case Windows.Devices.Input.PointerDeviceType.Touch:
            details += "\nPointer type: touch";
            details += "\nrotation: " + ptrPt.Properties.Orientation;
            details += "\nTilt X: " + ptrPt.Properties.XTilt;
            details += "\nTilt Y: " + ptrPt.Properties.YTilt;
            break;
        default:
            details += "\nPointer type: n/a";
            break;
    }

    GeneralTransform gt = Target.TransformToVisual(page);
    Point screenPoint;

    screenPoint = gt.TransformPoint(new Point(ptrPt.Position.X, ptrPt.Position.Y));
    details += "\nPointer Id: " + ptrPt.PointerId.ToString() +
        "\nPointer location (parent): " + ptrPt.Position.X + ", " + ptrPt.Position.Y +
        "\nPointer location (screen): " + screenPoint.X + ", " + screenPoint.Y;
    return details;
}
String queryPointer(PointerPoint ptrPt)
{
    String details = "";

    switch (ptrPt.PointerDevice.PointerDeviceType)
    {
        case Windows.Devices.Input.PointerDeviceType.Mouse:
            details += "\nPointer type: mouse";
            break;
        case Windows.Devices.Input.PointerDeviceType.Pen:
            details += "\nPointer type: pen";
            if (ptrPt.IsInContact)
            {
                details += "\nPressure: " + ptrPt.Properties.Pressure;
                details += "\nrotation: " + ptrPt.Properties.Orientation;
                details += "\nTilt X: " + ptrPt.Properties.XTilt;
                details += "\nTilt Y: " + ptrPt.Properties.YTilt;
                details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
            }
            break;
        case Windows.Devices.Input.PointerDeviceType.Touch:
            details += "\nPointer type: touch";
            details += "\nrotation: " + ptrPt.Properties.Orientation;
            details += "\nTilt X: " + ptrPt.Properties.XTilt;
            details += "\nTilt Y: " + ptrPt.Properties.YTilt;
            break;
        default:
            details += "\nPointer type: n/a";
            break;
    }

    GeneralTransform gt = Target.TransformToVisual(page);
    Point screenPoint;

    screenPoint = gt.TransformPoint(new Point(ptrPt.Position.X, ptrPt.Position.Y));
    details += "\nPointer Id: " + ptrPt.PointerId.ToString() +
        "\nPointer location (parent): " + ptrPt.Position.X + ", " + ptrPt.Position.Y +
        "\nPointer location (screen): " + screenPoint.X + ", " + screenPoint.Y;
    return details;
}

Comentarios

La clase PointerPointProperties implementa IPointerPointProperties.

Nota:

Esta clase no es ágil, lo que significa que debe tener en cuenta su modelo de subprocesos y el comportamiento de serialización. Para obtener más información, consulte Subprocesos y serialización (C++/CX) y Uso de objetos Windows Runtime en un entorno multiproceso (.NET).

El núcleo de la arquitectura de dispositivos de entrada interactiva de Microsoft se basa en la definición de clase de dispositivo estándar del bus serie universal (USB) para el dispositivo de interfaz humana (HID), que se define mediante el Foro de implementadores, Inc.

El estándar Universal Serial Bus (USB) Human Interface Device (HID) define los protocolos de configuración y comunicación para el dispositivo de interfaz humana (HID), como teclados, dispositivos de mouse, joysticks y dispositivos de realidad virtual, que los humanos usan para introducir datos directamente en un equipo. (Para obtener información detallada sobre el estándar USB HID, consulte el sitio web del Foro de implementadores usb ).

Aunque el núcleo de la arquitectura de entrada de Windows se basa en el estándar Universal Serial Bus (USB) Human Interface Device (HID), la arquitectura no se limita a los dispositivos Universal Serial Bus (USB). La arquitectura de entrada también admite dispositivos de puerto serie, dispositivos de puerto i8042 y dispositivos de entrada propietarios.

Propiedades

ContactRect

Obtiene el rectángulo delimitador del área de contacto (normalmente desde la entrada táctil).

ContactRectRaw

Obtiene el rectángulo delimitador de la entrada sin procesar (normalmente de entrada táctil).

IsBarrelButtonPressed

Obtiene un valor que indica si se presiona el botón de barril del dispositivo lápiz/lápiz óptico.

IsCanceled

Obtiene un valor que indica si el dispositivo de puntero canceló la entrada.

IsEraser

Obtiene un valor que indica si la entrada procede de un borrador de lápiz.

IsHorizontalMouseWheel

Obtiene un valor que indica si la entrada procede de una rueda de inclinación del mouse.

IsInRange

Obtiene un valor que indica si el dispositivo de puntero está dentro del intervalo de detección de un sensor o digitalizador (el puntero continúa existiendo).

IsInverted

Obtiene un valor que indica si el lápiz del digitalizador se invierte.

IsLeftButtonPressed

Obtiene un valor que indica si el modo de acción principal de un dispositivo de entrada desencadenó la entrada del puntero.

IsMiddleButtonPressed

Obtiene un valor que indica si el modo de acción terciaria de un dispositivo de entrada desencadenó la entrada del puntero.

IsPrimary

Obtiene un valor que indica si la entrada procede del puntero principal cuando se registran varios punteros.

IsRightButtonPressed

Obtiene un valor que indica si el modo de acción secundaria desencadenó la entrada del puntero (si se admite) de un dispositivo de entrada.

IsXButton1Pressed

Obtiene un valor que indica si el primer botón extendido del mouse (XButton1) desencadenó la entrada del puntero.

IsXButton2Pressed

Obtiene un valor que indica si el segundo botón extendido del mouse (XButton2) desencadenó la entrada del puntero.

MouseWheelDelta

Obtiene un valor (el valor sin procesar notificado por el dispositivo) que indica el cambio en la entrada del botón de rueda del último evento de puntero.

Orientation

Obtiene el ángulo de giro en sentido contrario a las agujas del reloj alrededor del eje principal del dispositivo de puntero (el eje Z, perpendicular a la superficie del digitalizador). Un valor de 0,0 grados indica que el dispositivo está orientado hacia la parte superior del digitalizador.

PointerUpdateKind

Obtiene el tipo de cambio de estado de puntero.

Pressure

Obtiene un valor que indica la fuerza que el dispositivo de puntero (normalmente un lápiz o lápiz) ejerce en la superficie del digitalizador.

TouchConfidence

Obtiene un valor que indica si el dispositivo de puntero rechazó el contacto táctil.

Twist

Obtiene la rotación de las agujas del reloj en grados de un dispositivo de lápiz alrededor de su propio eje principal (por ejemplo, cuando el usuario gira el lápiz en sus dedos).

XTilt

Obtiene el ángulo del plano entre el plano Y-Z y el plano que contiene el eje Y y el eje del dispositivo de entrada (normalmente un lápiz o lápiz óptico).

YTilt

Obtiene el ángulo del plano entre el plano X-Z y el plano que contiene el eje X y el eje del dispositivo de entrada (normalmente un lápiz o lápiz óptico).

ZDistance

Obtiene la coordenada z (o distancia) del puntero desde la superficie de pantalla, en píxeles independientes del dispositivo.

Métodos

GetUsageValue(UInt32, UInt32)

Obtiene el valor de uso del dispositivo de interfaz humana (HID) de la entrada sin procesar.

HasUsage(UInt32, UInt32)

Obtiene un valor que indica si los datos de entrada del dispositivo de puntero contienen la información de uso del dispositivo de interfaz humana (HID) especificada.

Se aplica a

Consulte también