0

In MFC, how do I stop the touch keyboard from appearing when selecting controls without text inputs? Specifically, CComboBox-derived and original CListBox controls. The issue occurs in a large C++ application for touchscreen tablets running Windows 10. Bizarrely, selecting any CEdit control in the application solves the issue until the application restarts.

I've been looking at InputScope, AutomationPeer, and even killing the keyboard process TabTip.exe after it appears, but none of these prevent the keyboard from showing in the first place.

A previous solution involved changing the "Automatically show touch keyboard" registry setting SOFTWARE\Microsoft\TabletTip\1.7\EnableDesktopModeAutoInvoke on focus change, but alerting the touch keyboard with SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE) added unacceptable delay to the UI.

  • you should add a minimal code sample, so we can follow and fix this issue. – Tom Tom Oct 03 '22 at 08:32
  • @TomTom Attempting to reduce the issue to a minimal code sample is a good idea, I will attempt this in the future. I realized that my own question mentions a low-impact workaround: so for now I briefly focus a CEdit on application startup with appropriate "this is devilry" code comments. When I get more time I'll look into the root cause. – PizzaToCode Oct 03 '22 at 17:58

0 Answers0