0

We are maintaining a legacy application that was written in a combination of C, C++, and C++/CLI that is deployed at tablet PC running Windows 10. Re-writing the application is not an option, but the users are complaining about the touch keyboard covering up inputs. What technique, if any, can I use to avoid inputs being covered by the touch keyboard?

rjzii
  • 14,236
  • 12
  • 79
  • 119

1 Answers1

1

You cannot control where the keyboard is, you can only adapt your application so the keyboard does not cover important parts. Applications with one large surface (listview, document etc.) generally scroll themselves so the caret/selection is visible. Some other windows resize themselves instead (the standard open/save dialog) so that the most important control is visible.

If you create a COM class that implements IFrameworkInputPaneHandler then you can subscribe to keyboard changes by registering yourself with IFrameworkInputPane::AdviseWithHWND. You can find a example of this on Raymond Chens blog.

Anders
  • 97,548
  • 12
  • 110
  • 164
  • Thanks for the response. I had a bit of a "lack of coffee" moment yesterday and put Windows 8 instead of the proper Windows 10. Is still approach still valid on that platform? – rjzii Feb 21 '17 at 14:26
  • Yes. MSDN says IInputPanelConfiguration is ignored on Win10 but this should still work. – Anders Feb 21 '17 at 14:42
  • Great! I'll run it by the rest of the team and then accept your answer once we have a POC. – rjzii Feb 21 '17 at 15:38