如何在Windows编辑控件上禁用小触控键盘 [英] How to disable the little touch-keyboard on Windows edit controls
问题描述
在支持平板电脑的Windows版本中,当编辑控件变焦时,会出现一个小键盘图标。如果你触摸它,触摸键盘弹出。
In a windows version with tablet support, a small keyboard icon appears when an edit control gets focus. If you touch it the touch keyboard pops up.
有没有办法禁用这个?如果你有自己的触摸键盘,这是相当不方便的。
Is there a way to disable this? It's rather inconvenient if you have your own touch keyboard.
我想禁用代码中的某些编辑控件,即。我不是在寻找Windows设置。
I want to disable it for certain edit controls in code, ie. I'm not looking for a Windows setting.
Giel
推荐答案
嗯,我想迟到的答案比没有答案要好,所以这里是:
Well, I guess a late answer is better than no answer, so here it comes:
你可以禁用Windows屏幕上的键盘为你的应用程序。
要执行此操作,请启动Regedit并导航到密钥[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TabletTIP\DisableInPlace]。在那里,您创建一个新的字符串值,将其名称设置为完整的应用程序路径(例如C:\Progam Files\My App\MyApp.exe),并将其值设置为1。
You can disable the Windows onscreen-keyboard for your application. To do so, start Regedit and navigate to the Key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TabletTIP\DisableInPlace]. There you create a new String Value, set its name to the full application Path (e.g. "C:\Progam Files\My App\MyApp.exe") and set its value to "1".
编辑:最近我不得不重新思考我的解决方案...通过设置注册表值,您可以为整个应用程序禁用屏幕键盘。但是,如果您需要一个键盘,您的程序很少使用功能,并且只要 happend 忘记包含屏幕键盘,则必须通过SDK / API控制Windows TextInputPanel。请参阅此链接:以编程方式禁用输入面板。
使用PenInputPanel进行手写,TextInputPanel用于屏幕键盘。
Recently I had to rethink my solution... By setting the Registry value, you disable the onscreen-keyboard for the whole application. But should you need a keyboard for some seldom used function of your programme and just happend to forget including an onscreen-keyboard, you have to control the Windows TextInputPanel via SDK / API. See this link: Disabling the Input Panel Programmatically. Use the PenInputPanel for handwriting and the TextInputPanel for an onscreen-keyboard.
对于所有那些Delphi程序员:导入类型库Microsoft PenInputPanel和FIX一个BUG在导入的* _TLB.pas中:更改IPenInputPanel的两种方法的参数类型:
For all those Delphi programmers out there: import the Type Library "Microsoft PenInputPanel" and FIX A BUG in the imported *_TLB.pas: change the parameter type of the two methods of IPenInputPanel:
function Get_AttachedEditWindow: SYSINT; safecall;
procedure Set_AttachedEditWindow(AttachedEditWindow: SYSINT); safecall;
这篇关于如何在Windows编辑控件上禁用小触控键盘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!