Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
键盘快捷键通常会从插入符号中Ctrl+Backspace删除左侧的单词。但它不适用于您所期望的任何标准 Delphi 控件(TEdit、、TMemo等TComboBox)。有趣的是,Ctrl+Delete工作得很好。
Ctrl+Backspace
TEdit
TMemo
TComboBox
Ctrl+Delete
有人知道如何轻松纠正这种行为吗?
我知道重写该KeyDown过程会做到这一点,但这太复杂了,因为KeyDown必须为每个组件重写。
KeyDown
这不是 Delphi 特有的问题。实际上,TEdit其他控件只是本机 Microsoft Windows 控件的包装器,它们的行为是这样的。例如,尝试使用记事本“选择字体”对话框中的编辑框。在启用自动完成的情况下编辑控件,但是,接受 Ctrl+Backspace 热键。我认为您可以通过以下方式轻松启用此功能
SHAutoComplete(Edit1.Handle, SHACF_AUTOAPPEND_FORCE_OFF or SHACF_AUTOSUGGEST_FORCE_OFF)
(使用ShLwApi)。
ShLwApi