Can I disable the Insert key in the Delphi IDE?

2019-02-25 04:39发布

Something I find really annoying is putting the Delphi editor into "type over mode" by pressing the Insert key, is there a way of disabling this behaviour in the Delphi IDE?

3条回答
家丑人穷心不美
2楼-- · 2019-02-25 05:27

You can write your own key binding for the code editor, to remap the keystroke.

There are a couple of examples of doing so included with Delphi itself. They're in your Samples folder; the exact location depends on your Delphi and Windows versions. In XE6 on Win7, for instance, see

"C:\Users\Public\Public Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\VCL\ToolsAPI\Editor KeyBinding"

In XE5, it's in

"C:\Users\Public\Documents\RAD Studio\12.0\Samples\Delphi\VCL\ToolsAPI\Editor KeyBinding".

And in D2007 look in

"C:\Users\Public\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\ToolsAPI\Editor KeyBinding".

With that being said, the behavior of the Ins in the Delphi Code Editor is the same behavior that the key has in every single text editor I've ever encountered (including those simple ones like Notepad.exe), going back to the days of MS-DOS and Edit.exe. If there's ever a chance that someone else will use your copy of the IDE, you're going to really tick them off if it doesn't act like a standard text editor/

查看更多
别忘想泡老子
3楼-- · 2019-02-25 05:27

Yes you can!! But you have to make the change system wide.

Follow the instructions from this question:

  1. Go to Start → Run → regedit
  2. Go to HKLM\System\CurrentControlSet\Control\Keyboard Layout
  3. Right-click on the right half of the screen and choose New → Binary Value
  4. Name the new value Scancode Map
  5. Enter 000000000000000002000000000052E000000000
  6. Close regedit
  7. Reboot.

Then make sure that in Delphi IDE; Tools → Options → Editor Options → Insert Mode is Enabled.

查看更多
等我变得足够好
4楼-- · 2019-02-25 05:30

Get a table fork, insert it under the Ins key and pop it off.

When you have finished your Delphi editing session you can replace it.

:P

查看更多
登录 后发表回答