【发布时间】:2012-05-05 13:05:41
【问题描述】:
Ctrl+Backspace 键盘快捷键通常会删除插入符号左侧的单词。但它不适用于您期望的任何标准 Delphi 控件(TEdit、TMemo、TComboBox 等)。有趣的是,Ctrl+Delete 工作得很好。
有人知道如何轻松纠正这种行为吗?
我知道重写 KeyDown 过程可以做到这一点,但这太复杂了,因为必须为每个组件重写 KeyDown。
【问题讨论】:
-
这不是 Delphi 特有的问题。实际上,
TEdit和其他控件只是本机 Microsoft Windows 控件的包装,它们的行为是这样的。例如,尝试使用记事本“选择字体”对话框中的编辑框。在启用自动完成的情况下编辑控件,但是,接受 Ctrl+Backspace 热键。 -
喜欢雷蒙德
said。 -
有趣,我不知道。但这仍然有点烦人,因为快捷方式适用于很多地方,甚至包括 MS 软件。
-
@oxo:我同意,在大多数软件中,这是我真正期待和每天使用的快捷方式。可能标准编辑框默认没有此功能,因为与旧(或行为不端)软件存在一些晦涩和微妙的兼容性问题。仍然有人可能想知道为什么没有一种样式可以用来启用此功能。
-
对面是RichEdit控件默认实现的快捷方式。