Pointer Class

단일 마우스, 펜/스타일러스 또는 터치점과 관련된 입력 포인터의 기본 속성을 제공합니다.

대부분의 경우, 선택한 Windows 8 언어 프레임워크(JavaScript로 작성된 Windows 스토어 앱, C++, C# 또는 Visual Basic으로 작성된 Windows 스토어 앱 또는 DirectX with C++로 작성된 Windows 스토어 앱)에서 포인터 이벤트 처리기의 이벤트 인수를 통해 포인터 정보를 얻는 것이 좋습니다.

이벤트 인수에서 본질적으로 해당 앱에 필요한 포인터 세부 정보를 노출하지 않는 경우 사용자는 PointerRoutedEventArgsGetCurrentPointGetIntermediatePoints 메서드를 통해 확장 포인터 데이터에 대한 액세스 권한을 가져올 수 있습니다. 포인터 데이터의 컨텍스트를 지정할 수 있으므로 이러한 메서드를 사용하는 것이 좋습니다.

정적 PointerPoint 메서드인 GetCurrentPointGetIntermediatePoints는 항상 앱의 컨텍스트를 사용합니다.

상속

Object
  Pointer

구문


public sealed class Pointer

특성

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

멤버

Pointer클래스에는 다음과 같은 형식의 멤버가 있습니다.

메서드

The Pointer 클래스 - 다음에서 메서드를 상속합니다. Object 클래스.

속성

Pointer클래스 - 이러한 속성이 있습니다.

속성사용 권한Description

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는 입력 장치를 설명하는 데 사용되는 추상 클래스입니다. 이 클래스는 발생하는 각 포인터 이벤트에 대한 입력 장치(예: 스타일러스, 손가락 또는 마우스)를 식별합니다.

예제

다음 코드 예제에서는 Pointer 클래스를 사용하여 응용 프로그램의 각 입력에 대한 고유한 PointerId를 찾는 방법과, PointerDeviceType을 사용하여 특정 형태의 입력(예: 마우스 입력)을 무시하고 Pointer 위치를 저장하는 방법을 보여 줍니다. 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 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 스토어 앱만]

Namespace

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

Metadata

Windows.winmd

참고 항목

입력 샘플

 

 

표시:
© 2014 Microsoft