5
ActivateKeyboardLayout(HKL_NEXT, KLF_ACTIVATE);
を使用してDelphi XE2を使用してペルシア語キーボードレイアウトを読み込みますが、TextBoxまたはDbGridコントロールをクリックすることがあります。VCLのDbGrids.pasのキーボードレイアウトの自動変更を無効にする
キーボードレイアウトの自動変更を無効にするにはどうすればよいですか?
ActivateKeyboardLayout(HKL_NEXT, KLF_ACTIVATE);
を使用してDelphi XE2を使用してペルシア語キーボードレイアウトを読み込みますが、TextBoxまたはDbGridコントロールをクリックすることがあります。VCLのDbGrids.pasのキーボードレイアウトの自動変更を無効にする
キーボードレイアウトの自動変更を無効にするにはどうすればよいですか?
同じ問題があります。このバグは、D2006からD2010へのアップグレード後に発生しました。
問題はDBGrids.pasである:
procedure TCustomDBGrid.WMKillFocus(var Message: TMessage);
begin
ImeName := Screen.DefaultIme;
ImeMode := imDontCare;
inherited;
if not ((InplaceEditor <> nil) and
(HWND(Message.WParam) = InplaceEditor.Handle)) then
ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE);
end;
私は継承された後にボーランド/エンバカデロが「ブロック場合は」追加した理由はわかりません。変更すると、キーボードレイアウトがデフォルトに戻ります。 DBGridをプロジェクトにコピーし、 "if block"を削除しなければなりませんでした。