■
Delphiのアプリで、直前に変換をしてない状態でCTRL+BACKSPACEを押すと、
制御のキーコードが入ってしまい、*1
少々問題になってしまったので以下のような修正をしておいた。
type TMyMemo = class(TMemo) private procedure CNKeyDown(var vMsg: TWMKeyDown); message CN_KEYDOWN; end; procedure TMyMemo.CNKeyDown(var vMsg: TWMKeyDown); begin // CTRL+BACKSPACEは処理なしに変更 if ( (GetKeyState(VK_CONTROL) < 0) and (vMsg.CharCode in [VK_BACK]) ) then begin vMsg.Result := 1; Exit; end; inherited; end;
これでCTRL+BACKSPACEは完全無視になる。
再変換が出来なくなるがそれは仕様で。
というかCTRL+BACKSPACEが再変換だって事を最近知った…。