私はWindows上でテキストサービスを実装しています。物事は正常に動作します。しかし、ウィンドウのフォーカスを別のアプリケーションに移して、元のアプリケーションにフォーカスを戻すと、選択したテキストサービスが無効になります(私はITfTextInputProcessor::Deactivate
への呼び出しに気付きます)。私はこの呼び出しが予想外であると思う。このコールを投稿する。サービスは手動で再アクティブ化する必要があります。私は確かに何かうんざりしています。ちょうど私はそれが何であるか分からない。フォーカスを取り戻すとITfTextInputProcessor :: Deactivateが予期せず呼び出される
1
A
答えて
1
オフハンドでは、あなたは本当に何かうんざりしていると言います。 :)特に、私はあなたのITfThreadMgrEventSink::OnSetFocus実装に細心の注意を払うだろう(当然と、あなたはあなたのテキストサービスでITfThreadMgrEventSinkを実装まだお持ちでない場合AdviseSink経由で接続する必要があります。)
より後研究、私は何が起こっているのかを把握しました:
Wordにフォーカスを戻すと、TSFは現在のスレッドのアクティブなキーボードレイアウト(実際にはロケールID)を取得します。 次に、そのキーボードレイアウトと現在アクティブなテキストサービスの言語IDを比較します。
これらが異なる場合、TSFはアクティブなキーボードレイアウト用のテキストサービスをアクティブにし、以前アクティブなテキストサービスを無効にします。
私は、この動作は、修正プログラムがあなたのITfTextInputProcessorのプロセスキーボードレイアウトを設定する::実装を有効にLoadKeyboardLayout/ActivateKeyboardLayoutを用いることであろうビスタ/ Windows上で7
異なっていると信じています。明らかに、一部のアプリでもITfInputProcessorProfiles::ChangeCurrentLanguage()に電話する必要があります。
関連する問題
- 1. html:メソッドまたはプロパティへのアクセスが予期せず呼び出される
- 2. Webサービスの戻り値の型が予期せず変更される
- 3. IE7とIE8でメソッドまたはプロパティへのアクセスが予期せず呼び出される
- 4. jQuery .find()エラー:「メソッドまたはプロパティへのアクセスが予期せず呼び出されました」
- 5. xhtmlサーブレットを呼び出すとサーブレットが呼び出されず、応答が返されません
- 6. Chromeの戻るボタンで予期せずアップロードストリームが終了する
- 7. fbDidLoginが呼び出されず、handleURLが呼び出されない
- 8. "メソッドまたはプロパティへのアクセスが予期せず呼び出されました。 IEでのappendChild()
- 9. IE7とIE8でサイトが予期せずリダイレクトされる
- 10. Flash as3 webserviceコールが呼び出されず、IE7で呼び出される
- 11. 予期せずメモリキャッシュが上書きされる
- 12. Android:finish()を呼び出さずに前のアクティビティに戻る
- 13. AJAX(JQuery)予期せずエラーが返される
- 14. Math.NET反復ソルバーの計算が予期せずキャンセルされる
- 15. ホームボタンから戻るとonLoadFinishedが呼び出されない
- 16. C++ - 値が予期せず変更される
- 17. アラームマネージャが予期せず停止する
- 18. プログラムが予期せず終了する
- 19. Apacheが予期せずシャットダウンする
- 20. クライアントが予期せずシャットダウンする
- 21. CreateThreadパラメータの値が予期せず変更される
- 22. Androidで予期せずにsessionStorageがクリーンアップされました
- 23. メソッドを実行せずにメソッド呼び出しと戻り値をモックする方法はありますか?
- 24. 呼び出されたメソッドの戻り値を渡すstd :: enable_if_t
- 25. iframeのイベントハンドラが呼び出されずにロードされる
- 26. CheckAlign = TopCenter上でRadioButtonが予期せず表示されます
- 27. ISHELL_BrowseURLを呼び出すと予期しないエラーAEE_EBADCLASSが発生する
- 28. IDialogStack.Callを呼び出すと予期しない動作が発生する
- 29. アプリケーションが電話で実行されると「予期せず停止する」
- 30. data.table jで関数が呼び出され、予期しない結果が返される
2つのMS Word文書を切り替えるとかなりうまく動作します。私はすべての期待される呼び出しを得て、 'DeActivate'を得ません。 一方、MS ExcelとPowerpointはnon tsf aware( 'TF_SS_TRANSITORY'ビットが設定されている)のように動作します。私がこれらのアプリにフォーカスを移し、フォーカスを元のものに戻すと、 'OnActivate'だけで' OnSetFocus'コールは得られません。 ところで、これはWindows XPとOffice 2007です。 –