PointerPointProperties クラス

定義

PointerPoint オブジェクトの拡張プロパティを提供します。

ほとんどの場合、選択したWindows 8言語フレームワークのポインター イベント ハンドラー (JavaScript を使用する Windows アプリ、C++、C#、または Visual Basic を使用する UWP アプリ、または C++ で DirectX を使用する UWP アプリ) を使用してポインター情報を取得することをお勧めします。

イベント引数でアプリに必要なポインターの詳細が公開されない場合は、getCurrentPoint メソッドと getIntermediatePoints メソッドまたは currentPoint プロパティと intermediatePoints プロパティを使用して、イベント引数から拡張ポインター データにアクセスできます。 ポインター データのコンテキストを指定できるため、 getCurrentPoint メソッドと getIntermediatePoints メソッドを使用することをお勧めします。

静的 な PointerPoint メソッド である GetCurrentPoint メソッドと GetIntermediatePoints メソッドは、常にアプリのコンテキストを使用します。

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
継承
Object Platform::Object IInspectable PointerPointProperties
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v1.0 で導入)

次の例では、 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;
}

注釈

PointerPointProperties クラスは、IPointerPointProperties を実装します。

Note

このクラスはアジャイルではありません。つまり、スレッド モデルとマーシャリング動作を考慮する必要があります。 詳細については、「スレッド処理とマーシャリング (C++/CX)」および「マルチスレッド環境での Windows ランタイム オブジェクトの使用 (.NET)」を参照してください。

Microsoft 対話型入力デバイス アーキテクチャの中核となるのは、ユニバーサル シリアル バス (USB) 標準デバイス クラス定義 for Human Interface Device (HID) に基づいています。これは、Implementers Forum, Inc. によって定義されています。

ユニバーサル シリアル バス (USB) ヒューマン インターフェイス デバイス (HID) 標準では、人間がコンピューターに直接データを入力するために使用するキーボード、マウス デバイス、ジョイスティック、仮想現実デバイスなどのヒューマン インターフェイス デバイス (HID) の構成と通信プロトコルを定義します。 (USB HID 標準の詳細については、 USB 実装者フォーラム の Web サイトを参照してください)。

Windows 入力アーキテクチャのコアはユニバーサル シリアル バス (USB) ヒューマン インターフェイス デバイス (HID) 標準に基づいていますが、アーキテクチャはユニバーサル シリアル バス (USB) デバイスに限定されません。 入力アーキテクチャでは、シリアル ポート デバイス、i8042 ポート デバイス、および独自の入力デバイスもサポートされています。

プロパティ

ContactRect

接触領域の外接する四角形を取得します (通常はタッチ入力から)。

ContactRectRaw

生入力の外接する四角形を取得します (通常はタッチ入力から)。

IsBarrelButtonPressed

ペン/スタイラス デバイスのバレル ボタンが押されているかどうかを示す値を取得します。

IsCanceled

ポインター デバイスによって入力が取り消されたかどうかを示す値を取得します。

IsEraser

入力がペン消しゴムからの入力かどうかを示す値を取得します。

IsHorizontalMouseWheel

入力がマウスの傾斜ホイールからのものかどうかを示す値を取得します。

IsInRange

ポインター デバイスがセンサーまたはデジタイザーの検出範囲内にあるかどうかを示す値を取得します (ポインターは存在し続けます)。

IsInverted

デジタイザー ペンが反転されているかどうかを示す値を取得します。

IsLeftButtonPressed

ポインター入力が入力デバイスのプライマリ アクション モードによってトリガーされたかどうかを示す値を取得します。

IsMiddleButtonPressed

ポインター入力が入力デバイスの 3 次アクション モードによってトリガーされたかどうかを示す値を取得します。

IsPrimary

複数のポインターが登録されている場合に、入力がプライマリ ポインターからのものかどうかを示す値を取得します。

IsRightButtonPressed

ポインター入力が入力デバイスのセカンダリ アクション モード (サポートされている場合) によってトリガーされたかどうかを示す値を取得します。

IsXButton1Pressed

ポインター入力が最初の拡張マウス ボタン (XButton1) によってトリガーされたかどうかを示す値を取得します。

IsXButton2Pressed

ポインター入力が 2 番目の拡張マウス ボタン (XButton2) によってトリガーされたかどうかを示す値を取得します。

MouseWheelDelta

最後のポインター イベントからのホイール ボタン入力の変更を示す値 (デバイスによって報告される生の値) を取得します。

Orientation

ポインター デバイスの長軸 (デジタイザーの表面に垂直な z 軸) を中心とする反時計回りの回転角度を取得します。 0.0 度の値は、デバイスがデジタイザーの上部に向かっている場合を示します。

PointerUpdateKind

ポインターの状態変更の種類を取得します。

Pressure

ポインター デバイス (通常はペン/スタイラス) がデジタイザーの表面に作用する力を示す値を取得します。

TouchConfidence

ポインター デバイスがタッチ接触を拒否したかどうかを示す値を取得します。

Twist

(ユーザーが指でペンを回転するときなど) 独自の長軸の周りのペン デバイスの時計回りの回転角度を取得します。

XTilt

Y-Z 平面と、Y 軸と入力デバイスの軸 (通常はペン/スタイラス) を含む平面の間の平面角度を取得します。

YTilt

X-Z 平面と、X 軸と入力デバイスの軸 (通常はペン/スタイラス) を含む平面の間の平面角度を取得します。

ZDistance

画面サーフェスからポインターの z 座標 (または距離) をデバイスに依存しないピクセル単位で取得します。

メソッド

GetUsageValue(UInt32, UInt32)

生入力のヒューマン インターフェイス デバイス (HID) の使用値を取得します。

HasUsage(UInt32, UInt32)

ポインター デバイスからの入力データに、指定されたヒューマン インターフェイス デバイス (HID) の使用状況情報が含まれているかどうかを示す値を取得します。

適用対象

こちらもご覧ください