2017-02-20 99 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