【问题标题】:In Windows 10, how can I avoid having the touch keyboard covering up inputs?在 Windows 10 中,如何避免触摸键盘覆盖输入?
【发布时间】:2017-02-20 21:21:20
【问题描述】:

我们正在维护一个使用 C、C++ 和 C++/CLI 组合编写的旧应用程序,该应用程序部署在运行 Windows 10 的平板电脑上。重写应用程序不是一种选择,但用户抱怨覆盖输入的触摸键盘。我可以使用什么技术(如果有)来避免输入被触摸键盘覆盖?

【问题讨论】:

标签: windows winforms c++-cli legacy-code


【解决方案1】:

您无法控制键盘的位置,您只能调整您的应用程序,使键盘不覆盖重要部分。具有较大表面(列表视图、文档等)的应用程序通常会自行滚动,以便插入符号/选择可见。其他一些窗口会自行调整大小(标准的打开/保存对话框),以便最重要的控件可见。

如果您创建一个实现IFrameworkInputPaneHandler 的COM 类,那么您可以通过注册IFrameworkInputPane::AdviseWithHWND 来订阅键盘更改。你可以在 Raymond Chens 的博客上找到a example of this

【讨论】:

  • 感谢您的回复。昨天我有点“没喝咖啡”的感觉,我用 Windows 8 代替了正确的 Windows 10。在那个平台上方法仍然有效吗?
  • 是的。 MSDN 说 IInputPanelConfiguration 在 Win10 上被忽略,但这应该仍然有效。
  • 太棒了!我将由团队的其他成员运行它,然后在我们有 POC 后接受您的回答。
猜你喜欢
  • 2017-06-23
  • 2016-04-18
  • 2020-07-09
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-06
相关资源
最近更新 更多