如何修改Delphi IDE中的编程快捷键?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改Delphi IDE中的编程快捷键?相关的知识,希望对你有一定的参考价值。
我把Ctrl+Space屏蔽了,然后只用右边的Ctrl+Shift切换输入法。反正我机器上就一种输入法。呵呵。我一到别人的机器上,第一件事情,修改快捷键。因为不仅Delphi,向VisualStudio,JBuilder都是这样。 参考技术A 肯定是可以改的,在Key
Map设置中有一种,好象是通过代码实现的,有谁知道原理或更简单的办法。 参考技术B 我用的是Win2k,且必装两种输入法,不能修改成那种快捷,必须是Ctrl+Shift+XXX切换。 参考技术C Ctrl+Shift+Space是函数参数提示键,这么重要,不可能去掉。 参考技术D Ctrl+Space和开关汉字输入键冲突了,我想改成其它快捷,有办法吗?Delphi都出来这么久了,不知各位是如何解决(忍受)的。
delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)
文章来自于:https://www.cnblogs.com/lackey/p/5373761.html
delphi 的IDE快捷键与输入法切换键中突,以往的解决方法是下载一个ImeTool修改 windows 系统的快捷键
在 xp win7 都好使,但在win 10经常是修改完后,重启又失效了。
本方法采用 Open Tools API 编写是一个组件。安装方法:
菜单-->Component -->install Component 然后选择此本单元,然后就瞎折腾吧。就好了。
1 unit EagleBufferList; 2 3 interface 4 5 procedure Register; 6 7 implementation 8 9 uses Windows, Classes, SysUtils, Menus, ToolsAPI, Controls; 10 11 type 12 TBufferList = class(TNotifierObject, IUnknown, IOTANotifier, IOTAKeyboardBinding) 13 function GetBindingType: TBindingType; 14 function GetDisplayName: string; 15 function GetName: string; 16 //指定快捷键 17 procedure BindKeyboard(const BindingServices: IOTAKeyBindingServices); 18 protected 19 procedure CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut; var BindingResult: TKeyBindingResult); 20 end; 21 22 resourcestring 23 sBufferList = ‘Eagle‘‘s Buffer List‘; 24 25 // register this key binding 26 procedure Register; 27 begin 28 (BorlandIDEServices as IOTAKeyBoardServices).AddKeyboardBinding(TBufferList.Create); 29 end; 30 31 { TBufferList } 32 33 // the code to bind key 34 procedure TBufferList.BindKeyboard(const BindingServices: IOTAKeyBindingServices); 35 begin 36 BindingServices.AddKeyBinding([ShortCut(Ord(‘P‘), [ssShift, ssCtrl, ssAlt])], CodeCompletion, 37 Pointer(csCodeList or csManual)); 38 BindingServices.AddKeyBinding([ShortCut(Ord(‘O‘), [ssShift, ssCtrl, ssAlt])], CodeCompletion, 39 Pointer(csParamList or csManual)); 40 BindingServices.AddKeyBinding([ShortCut(Ord(‘ ‘), [ssCtrl, ssShift])], CodeCompletion, 41 Pointer(csCodeList or csParamList or csManual)); 42 { 1,2句是原作者写的 43 3句是我加的 把代码补完快捷键 替换为 ctrl + shift + space 44 } 45 end; 46 47 // do code completion 48 procedure TBufferList.CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut; 49 var BindingResult: TKeyBindingResult); 50 begin 51 52 (Context.EditBuffer.TopView as IOTAEditActions).CodeCompletion(Byte(Context.Context)); 53 BindingResult := krHandled; 54 55 end; 56 57 function TBufferList.GetBindingType: TBindingType; 58 begin 59 Result := btPartial; 60 end; 61 62 function TBufferList.GetDisplayName: string; 63 begin 64 Result := sBufferList; 65 end; 66 67 function TBufferList.GetName: string; 68 begin 69 Result := ‘EagleKing.BufferList‘; // do not localize 70 end; 71 72 end.
以上是关于如何修改Delphi IDE中的编程快捷键?的主要内容,如果未能解决你的问题,请参考以下文章
delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)
delphi中有没将控件中的字体变大变小的快捷键?或者可不可以整体修改,一个个改好麻烦.