Pointer クラス

ポインター Class

単一マウス、ペン/スタイラス、またはタッチ接触と関連付けられる入力ポインターに基本的なプロパティを提供します。

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

イベント引数がアプリケーションで必要なポインターの詳細を基本的に公開しない場合は、PointerRoutedEventArgsGetCurrentPoint メソッドおよび GetIntermediatePoints メソッドによって拡張ポインター データへのアクセスを取得できます。ポインター データのコンテキストを指定できるため、これらのメソッドを使用することをお勧めします。

静的な PointerPoint メソッドである GetCurrentPoint および GetIntermediatePoints では、常にアプリのコンテキストが使用されます。

継承

Object
  Pointer

構文


public sealed class Pointer

属性

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

メンバー

Pointerクラス には次の種類のメンバーがあります。

メソッド

The Pointer クラス からメソッドを継承します。Object クラス.

プロパティ

Pointerクラス には次のプロパティがあります。

プロパティアクセスの種類説明

IsInContact

読み取り専用Gets a value that determines whether the pointer device was in contact with a sensor or digitizer at the time that the event was reported.

IsInRange

読み取り専用Gets a value that indicates whether the pointer device is within detection range of a sensor or digitizer.

PointerDeviceType

読み取り専用Gets the PointerDeviceType for the pointer device.

PointerId

読み取り専用Gets the system-generated identifier for this pointer reference.

 

解説

Pointer は、入力デバイスを記述するために使用される抽象クラスです。このクラスは、発生するポインター イベントごとにその入力デバイス (スタイラス、指、マウスなど) を識別します。

アプリケーションにおける各入力接続の一意の PointerId を検索し、PointerDeviceType を使用して特定形式の入力 (たとえばマウスによる入力) を無視して、Pointer 位置を格納する Pointer クラスの使用を次のコード例に示します。Pointer クラスを使用するその他のコードについては、「Input sample (入力のサンプル)」を参照してください。


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 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;
        }
    }
}


要件

最小限サポートされるクライアント

Windows 8 [Windows ストア アプリのみ]

最小限サポートされるサーバー

Windows Server 2012 [Windows ストア アプリのみ]

名前空間

Windows.UI.Xaml.Input
Windows::UI::Xaml::Input [C++]

メタデータ

Windows.winmd

参照

入力のサンプル

 

 

表示:
© 2017 Microsoft