Welcome

首页 / 软件开发 / .NET编程技术 / Windows 8 Store Apps学习(49) 输入: 获取输入设备信息

Windows 8 Store Apps学习(49) 输入: 获取输入设备信息2013-12-10 cnblogs webabcd输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop

介绍

重新想象 Windows 8 Store Apps 之 输入

输入设备的相关信息

SIP(Soft Input Panel)的应用

Tab 键导航

Pointer - 指针,鼠标

Tap - 触摸

Drag 和 Drop

示例

1、演示如何获取输入设备的相关信息

Input/InputDeviceInfo.xaml

<Pagex:Class="XamlDemo.Input.InputDeviceInfo"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="using:XamlDemo.Input"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"mc:Ignorable="d"><Grid Background="Transparent"><Grid Margin="120 0 0 0"><ScrollViewer Margin="0 0 10 10"><TextBlock Name="lblMsg" FontSize="14.667" TextWrapping="Wrap" /></ScrollViewer></Grid></Grid></Page>
Input/InputDeviceInfo.xaml.cs

/* * 演示如何获取输入设备的相关信息 */using System;using Windows.Devices.Input;using Windows.UI.Xaml.Controls;using Windows.UI.Xaml.Navigation;namespace XamlDemo.Input{public sealed partial class InputDeviceInfo : Page{public InputDeviceInfo(){this.InitializeComponent();}protected override void OnNavigatedTo(NavigationEventArgs e){// 获取鼠标设备的相关信息MouseCapabilities mouseCapabilities = new MouseCapabilities();lblMsg.Text = "MouseCapabilities.MousePresent: " + mouseCapabilities.MousePresent; // 是否存在鼠标lblMsg.Text += Environment.NewLine;lblMsg.Text += "MouseCapabilities.HorizontalWheelPresent: " + mouseCapabilities.HorizontalWheelPresent; // 是否有水平滚轮lblMsg.Text += Environment.NewLine;lblMsg.Text += "MouseCapabilities.VerticalWheelPresent: " + mouseCapabilities.VerticalWheelPresent; // 是否有垂直滚轮lblMsg.Text += Environment.NewLine;lblMsg.Text += "MouseCapabilities.SwapButtons: " + mouseCapabilities.SwapButtons; // 是否交换了左右按钮lblMsg.Text += Environment.NewLine;lblMsg.Text += "MouseCapabilities.NumberOfButtons: " + mouseCapabilities.NumberOfButtons; // 鼠标上的按钮数量lblMsg.Text += Environment.NewLine;lblMsg.Text += Environment.NewLine;// 获取硬件键盘设备的相关信息KeyboardCapabilities keyboardCapabilities = new KeyboardCapabilities();lblMsg.Text += "KeyboardCapabilities.KeyboardPresent: " + keyboardCapabilities.KeyboardPresent; // 是否存在硬件键盘lblMsg.Text += Environment.NewLine;lblMsg.Text += Environment.NewLine;// 获取触摸设备的相关信息TouchCapabilities touchCapabilities = new TouchCapabilities();lblMsg.Text += "TouchCapabilities.TouchPresent: " + touchCapabilities.TouchPresent; // 是否存在触摸设备lblMsg.Text += Environment.NewLine;lblMsg.Text += "TouchCapabilities.Contacts: " + touchCapabilities.Contacts; // 触摸设备所支持的多点触摸的点数lblMsg.Text += Environment.NewLine;lblMsg.Text += Environment.NewLine;// 获取 Pointer 设备(Touch, Pen, Mouse)的相关信息var pointerDeviceList = PointerDevice.GetPointerDevices();int displayIndex = 0;foreach (PointerDevice pointerDevice in pointerDeviceList){displayIndex++;lblMsg.Text += "Pointer Device Index: " + displayIndex;lblMsg.Text += Environment.NewLine;lblMsg.Text += "PointerDevice.PointerDeviceType: " + pointerDevice.PointerDeviceType; // Pointer 类型(Touch, Pen, Mouse)lblMsg.Text += Environment.NewLine;lblMsg.Text += "PointerDevice.IsIntegrated: " + pointerDevice.IsIntegrated; // 是否是集成设备lblMsg.Text += Environment.NewLine;lblMsg.Text += "PointerDevice.MaxContacts: " + pointerDevice.MaxContacts; // 最大的同时触摸点数lblMsg.Text += Environment.NewLine;lblMsg.Text += "PointerDevice.PhysicalDeviceRect: " + pointerDevice.PhysicalDeviceRect; // 物理设备的 RectlblMsg.Text += Environment.NewLine;lblMsg.Text += "PointerDevice.ScreenRect: " + pointerDevice.ScreenRect; // Pointer 设备所支持的屏幕的 RectlblMsg.Text += Environment.NewLine;lblMsg.Text += Environment.NewLine;}}}}