PointerPointProperties クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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
- 継承
- 属性
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) の使用状況情報が含まれているかどうかを示す値を取得します。 |
適用対象
こちらもご覧ください
- Windows.UI.Input
- Properties
- Windows.Devices.Input
- Windows.UI.Core
- Windows.UI.Input.Inking
- Windows.UI.Xaml.Input
- TypedEventHandler<TSender,TResult>
- カスタム ユーザー操作
- カスタム ユーザー操作の UX ガイドライン
- タッチの設計ガイドライン
- ユーザー操作モードのサンプル
- フォーカスの視覚効果のサンプル
- 入力: デバイス機能のサンプルに関するページ
- 入力: 簡略化されたインクのサンプル
- 入力: Windows 8 のジェスチャのサンプルに関するページ
- 入力: XAML ユーザー入力イベントのサンプルに関するページ
- XAML のスクロール、パン、ズームのサンプル
- DirectX タッチ入力のサンプル
- 入力: 操作とジェスチャ (C++) のサンプルに関するページ
- 入力: タッチのヒット テストのサンプルに関するページ
- 入力ソース識別サンプル
- タッチインジェクションサンプル
- Win32 タッチ ヒット テストのサンプル