【问题标题】:Show soft input keyboard UWP C++/CX显示软输入键盘 UWP C++/CX
【发布时间】:2017-03-22 06:36:42
【问题描述】:

我已经在 OpenGL 中编写了自己的 UI 框架,并且正在移植到 Windows 通用平台。有时,当计算机处于平板电脑模式时,当用户点击我的一个自定义文本框(不是 XAML 文本框)时,我需要显示软输入键盘。没有 XAML 文本框有没有办法做到这一点?

目前,该应用通过侦听 CharacterReceived 事件来工作,但这只适用于连接的键盘。

我也尝试了以下方法,但没有成功:

Windows::UI::ViewManagement::InputPane^ ip = Windows::UI::ViewManagement::InputPane::GetForCurrentView();
bool result = ip->TryShow();

【问题讨论】:

  • InputPane.TryShow() 在 Windows 10 的平板电脑模式下不执行任何操作。
  • 您在测试之前是否断开了物理键盘?它仅在未连接物理键盘 AFAIK 时有效。
  • 是的。该方法的结果仍然是“假”。在 InputPane 文档中,它说: 注意在某些情况下,不完全支持覆盖 UI,例如 InputPane。这包括:全屏模式下的 Microsoft DirectX 应用。
  • 如果有键盘连接,软键盘将不显示。

标签: uwp c++-cx


【解决方案1】:

据我所知,InputPane 是用于 Windows Phone 的方法。对于平板电脑,touch keyboard sample 展示了如何实现我相信您正在尝试实现的目标。

另请注意,来自同一页面:

在 Windows 10 中,如果连接了硬件键盘,或者 PC 处于桌面模式并且“设置”中的“当您的设备没有连接键盘时,在窗口应用程序中自动显示触摸键盘”,触摸键盘将不会自动显示-> 设备 -> 打字被禁用。

【讨论】:

    猜你喜欢
    • 2012-07-12
    • 1970-01-01
    • 2013-12-16
    • 2013-09-14
    • 2011-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    相关资源
    最近更新 更多