10

キーボード ショートカットは通常、Ctrl+Backspaceキャレットから左側の単語を削除します。TEditしかし、期待される標準的な Delphi コントロール ( 、TMemo、など)では機能しませんTComboBox。興味深いことに、Ctrl+Delete問題なく動作します。

この動作を簡単に修正する方法を知っている人はいますか?

プロシージャをオーバーライドすればできることはわかっていますが、コンポーネントごとにオーバーライドする必要があるKeyDownため、これはかなり複雑です。KeyDown

4

1 に答える 1

17

これは Delphi 固有の問題ではありません。実際、TEditその他のコントロールはネイティブの Microsoft Windows コントロールの単なるラッパーであり、このように動作します。たとえば、メモ帳の [フォントの選択] ダイアログの編集ボックスを試してみてください。ただし、オートコンプリートが有効になっている編集コントロールでは、Ctrl+Backspace ホットキーを使用できます。これを簡単に有効にできると思います

SHAutoComplete(Edit1.Handle,
  SHACF_AUTOAPPEND_FORCE_OFF or SHACF_AUTOSUGGEST_FORCE_OFF)

(使用ShLwApi)。

于 2012-04-24T20:42:58.897 に答える