Как отключить маленькую сенсорную клавиатуру в Windows, редактировать элементы управления - PullRequest
1 голос
/ 16 июля 2009

В версии для Windows с поддержкой планшета маленький значок клавиатуры появляется, когда элемент управления редактирования становится в фокусе. Если вы дотронетесь до нее, появится сенсорная клавиатура.

Есть ли способ отключить это? Это довольно неудобно, если у вас есть собственная сенсорная клавиатура.

Я хочу отключить его для определенных элементов управления редактированием в коде, т.е. Я не ищу настройки Windows.

Giel

Ответы [ 2 ]

7 голосов
/ 10 ноября 2011

Ну, я думаю, что поздний ответ лучше, чем отсутствие ответа, так что вот оно:

Вы можете отключить экранную клавиатуру Windows для своего приложения. Для этого запустите Regedit и перейдите к ключу [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ TabletTIP \ DisableInPlace]. Там вы создаете новое строковое значение, задаете для его имени полный путь к приложению (например, «C: \ Progam Files \ My App \ MyApp.exe») и задаете для него значение «1».

Редактировать: Недавно мне пришлось переосмыслить свое решение ... Установив значение реестра, вы отключаете экранную клавиатуру для всего приложения. Но если вам нужна клавиатура для некоторых редко используемых функций вашей программы и просто случайно забыть, включая экранную клавиатуру, вы должны управлять Windows TextInputPanel через SDK / API. Смотрите эту ссылку: Программно отключение панели ввода . Используйте PenInputPanel для рукописного ввода и TextInputPanel для экранной клавиатуры.

Для всех этих программистов на Delphi: импортируйте библиотеку типов «Microsoft PenInputPanel» и исправьте ошибку в импортированном файле * _TLB.pas: измените тип параметра двух методов IPenInputPanel:

function Get_AttachedEditWindow: SYSINT; safecall;
procedure Set_AttachedEditWindow(AttachedEditWindow: SYSINT); safecall; 
0 голосов
/ 20 декабря 2013

Отключить «Сервис сенсорной клавиатуры и панели рукописного ввода»

...