2017-02-20 87 views
0

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

+1

[如何重新定位我的控件,使它们不被触摸键盘覆盖?](https://blogs.msdn.microsoft.com/oldnewthing/20150608-00/?p=45431) – IInspectable

+0

什么GUI工具包你正在用吗? –

+0

@DavidYaw针对.NET v4.5.2的WinForms – rjzii

回答

1

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

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

+0

感谢您的回应。我昨天有点“缺乏咖啡”,并把Windows 8而不是适当的Windows 10.仍然在该平台上仍然有效? – rjzii

+0

是的。 MSDN表示IInputPanelConfiguration在Win10上被忽略,但这应该仍然有效。 – Anders

+0

太棒了!我会由团队的其他成员运行它,然后在我们拥有POC时接受您的答案。 – rjzii