Pointer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
1 つのマウス、ペン/スタイラス、またはタッチ接触に関連付けられた入力ポインターの基本的なプロパティを提供します。
public ref class Pointer sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Pointer final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class Pointer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Pointer
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class Pointer
Public NotInheritable Class Pointer
- 継承
- 属性
Windows の要件
デバイス ファミリ |
Windows 10 (10.0.10240.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0 で導入)
|
例
次のコード例は、Pointer クラスを使用してアプリ内の各入力連絡先の一意の PointerId を 検索し、 PointerDeviceType を使用して特定の形式の入力 (マウス入力など) を無視し、ポインターの位置を格納する方法を示しています。 Pointer クラスを使用するその他のコードについては、 入力サンプルを参照してください。
using System.Collections.Generic;
using Windows.Foundation;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Navigation;
namespace PointerExample
{
public sealed partial class BlankPage : Page
{
Dictionary<uint, Point?> _contacts;
const uint SUPPORTEDCONTACTS = 5;
public BlankPage()
{
this.InitializeComponent();
_contacts = new Dictionary<uint, Point?>((int)SUPPORTEDCONTACTS);
this.PointerPressed += BlankPage_PointerPressed;
this.PointerReleased += BlankPage_PointerReleased;
}
private void BlankPage_PointerPressed(object sender,
PointerRoutedEventArgs e)
{
// Ignore mouse inputs.
if (e.Pointer.PointerDeviceType !=
Windows.Devices.Input.PointerDeviceType.Mouse)
{
// Store and touch input contacts.
Windows.UI.Input.PointerPoint pt = e.GetCurrentPoint(this);
_contacts[e.Pointer.PointerId] = pt.Position;
}
e.Handled = true;
}
private void BlankPage_PointerReleased(object sender,
PointerRoutedEventArgs e)
{
// Ignore mouse inputs.
if (e.Pointer.PointerDeviceType !=
Windows.Devices.Input.PointerDeviceType.Mouse)
{
// Remove pointer contacts information.
uint ptrId = e.Pointer.PointerId;
if (_contacts.ContainsKey(ptrId))
{
_contacts[ptrId] = null;
_contacts.Remove(ptrId);
}
}
e.Handled = true;
}
}
}
注釈
ほとんどの場合、選択した言語フレームワーク (JavaScript を使用する Windows アプリ、C++、C#、Visual Basic を使用する UWP アプリ、または C++ で DirectX を使用する UWP アプリ) のポインター イベント ハンドラーのイベント引数を通じてポインター情報を取得することをお勧めします。
イベント引数でアプリに必要なポインターの詳細が本質的に公開されない場合は、PointerRoutedEventArgs の GetCurrentPoint メソッドと GetIntermediatePoints メソッドを使用して拡張ポインター データにアクセスできます。 ポインター データのコンテキストを指定できるため、これらのメソッドを使用することをお勧めします。
静的 な PointerPoint メソッド である GetCurrentPoint および GetIntermediatePoints は、常にアプリのコンテキストを使用します。 ポインターは、入力デバイスを記述するために使用される抽象クラスです。 このクラスは、発生する各ポインター イベントの入力デバイス (スタイラス、指、マウスなど) を識別します。
プロパティ
IsInContact |
イベントが報告された時点で、ポインター デバイスがセンサーまたはデジタイザーと接触していたかどうかを決定する値を取得します。 |
IsInRange |
ポインター デバイスがセンサーまたはデジタイザーの検出範囲内にあるかどうかを示す値を取得します。 |
PointerDeviceType |
ポインター デバイスの PointerDeviceType を取得します。 |
PointerId |
このポインター参照のシステム生成識別子を取得します。 |