【问题标题】:How can I translate what we get in the KeyDown event to a Unicode character?如何将我们在 KeyDown 事件中获得的内容转换为 Unicode 字符?
【发布时间】:2012-05-16 00:26:19
【问题描述】:

TextBox 上的 KeyDown 事件(例如)将处理键盘事件并在 CharacterReceived 事件触发之前更新控件CoreWindow(事实上,它会在 KeyDown 事件在 CoreWindow 上触发之前执行此操作) . TextBox 和其他控件也没有任何 CharacterReceived 事件。

因此,需要处理 TextBox::KeyDown 事件来对键盘事件进行过滤或其他处理。

KeyDown 事件似乎是直接映射到 Win32 WM_KEYDOWN 消息,因为它为我们提供了按下的键盘键的扫描码和其他一些信息。在 WPF 和 Win32 中,我们将使用 MapVirtualKey() 函数将事件信息转换为 unicode 字符。

如何在 Windows RT 中执行此操作?

【问题讨论】:

    标签: keyboard microsoft-metro windows-runtime


    【解决方案1】:

    不再有 MapVirtualKey 功能。我在这方面找到的唯一信息是,您需要在 keydown 和 keyup 事件中使用 bools 跟踪变量,例如 shift 键(外语的汉字键等),然后制作一个巨大的 switch 案例将接受所有变量并吐出您想要的应用程序。以下是概述一些基础知识的微软页面:

    http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh868246.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 2018-05-23
      • 1970-01-01
      相关资源
      最近更新 更多