【发布时间】: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 应用。
-
如果有键盘连接,软键盘将不显示。