Ctrl+Backspace in Delphi Controls
delphi, vcl
Solution
This is not a Delphi-specific issue. Indeed, `TEdit` and the other controls are merely wrappers for the native Microsoft Windows controls, and they behave like this. Try, for instance, the edit box in Notepad's 'Select Font' dialog. Edit controls with auto-completion enabled, however, accept the Ctrl+Backspace hotkey. I think you can enable this easily by
SHAutoComplete(Edit1.Handle,
SHACF_AUTOAPPEND_FORCE_OFF or SHACF_AUTOSUGGEST_FORCE_OFF)
(uses `ShLwApi`).
Problem
the `Ctrl+Backspace` keyboard shortcut normally deletes the word to the left from the caret. But it does not work in any of the standard Delphi controls you would expect (`TEdit`, `TMemo`, `TComboBox` ect.). Interestingly, `Ctrl+Delete` works just fine. Does anybody know how to correct this behaviour easily? I know that overriding the `KeyDown` procedure would do it, but this is a rather too complicated as `KeyDown` has to be overridden for every component.