delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)
2021-03-21 08:24
标签:csp name binding handle bin component cal list 系统 文章来自于:https://www.cnblogs.com/lackey/p/5373761.html delphi 的IDE快捷键与输入法切换键中突,以往的解决方法是下载一个ImeTool修改 windows 系统的快捷键 在 xp win7 都好使,但在win 10经常是修改完后,重启又失效了。 本方法采用 Open Tools API 编写是一个组件。安装方法: 菜单-->Component -->install Component 然后选择此本单元,然后就瞎折腾吧。就好了。 delphi 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space) 标签:csp name binding handle bin component cal list 系统 原文地址:https://www.cnblogs.com/approx/p/11827309.html 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 修改代码补全的快捷键(由Ctrl+Space 改为 Ctrl + alt + Space)
文章链接:http://soscw.com/index.php/essay/67086.html