Delphi控件中的Ctrl + Backspace

时间:2012-04-24 20:37:39

标签: delphi vcl

Ctrl+Backspace键盘快捷键通常会从插入符号中删除左侧的单词。但它不适用于您期望的任何标准Delphi控件(TEditTMemoTComboBox等。有趣的是,Ctrl+Delete工作正常。

有人知道如何轻松纠正这种行为吗?

我知道覆盖KeyDown程序会做到这一点,但这个过于复杂,因为必须为每个组件覆盖KeyDown

1 个答案:

答案 0 :(得分:17)

这不是特定于Delphi的问题。实际上,TEdit和其他控件只是本机Microsoft Windows控件的包装器,它们的行为如下。例如,尝试记事本的“选择字体”对话框中的编辑框。编辑控件并启用自动完成功能,但是,请接受Ctrl + Backspace热键。我认为你可以通过

轻松实现这一点
SHAutoComplete(Edit1.Handle,
  SHACF_AUTOAPPEND_FORCE_OFF or SHACF_AUTOSUGGEST_FORCE_OFF)

(使用ShLwApi)。