問題タブ [ime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - IME をどのように使用しますか?
ユーザー入力を処理するコントロールを作成したいので、さまざまなキーボードを処理できるようにしたいのですが、その方法の 1 つは IME を使用することです。
それを処理しない場合、IME がアクティブなときに表示されるフローティング ウィンドウがあります (たとえば、日本語の書き込みがアクティブな場合)。処理が必要なメッセージは見つかりましたが、トラップしているキーを IME に送信する方法と、有効な変換された文字をいつ取得するかがわかりません。
c# - C#-同じキーボードレイアウトで2つの異なるIMEを自動的に切り替えます
データベースに漢字の拼音と漢字を入力するアプリケーションを作成しました。つまり、オペレーターはctrl+shiftを使用して「Pinyinput」と「sogouinput」を常に切り替える必要があります。テキストボックスが選択されているときにIMEを自動的に変更する方法はありますか。つまり、キーボードレイアウトを切り替えるのではなく、同じキーボードレイアウトの入力方法だけを切り替えるということです。
c++ - Input Method Editor ウィンドウが WM_QUERYENDSESSION に対して FALSE を返す - なぜですか?
製品の実行中に Windows サーバーからログオフできないという、奇妙で非常にまれな問題があります。システムはマルチアプリケーションで、すべて MFC/C++ です。アプリは管理サービスから実行されるため、ログオフに耐えます。世界中の多くの施設で、ロバの何年にもわたって問題なく動作しています。
すべてのウィンドウを列挙し、それらに WM_QUERYENDSESSION メッセージを送信し、FALSE が返されたら停止するテスト アプリケーションを作成しました。このテストは、ドイツで問題が再現されるこれらのまれなケースの 1 つで実行されています。犯人は常に目に見えない IME (Input Method Editor) ウィンドウのように見えますが、IME ウィンドウは常に MFC アプリケーションの 1 つに属しています。ImmDisableIME (-1) を呼び出すことで、個々のアプリケーションの問題を解決できると思います。しかし、私が探しているのは...
(a) 誰かがこれを回避するための構成方法を持っている場合、すべての国のすべてのアプリケーションのすべてのバージョンを変更する必要はありません。これは大きな仕事です。
(b) そもそもなぜこれが起こるべきなのか。私たちが作成したのではない IME ウィンドウが、ユーザーがログオフできないと判断する必要があるのはなぜですか?
(c) 他の誰かがこれを見たことがありますか? ミザリーは仲間が大好きですよね。
前述のとおり、現在、ドイツの 1 台のマシンで発生しています。もちろん、どのバージョンの Windows でも、ここで再現することはできません。ばぁ。
windows - Delphi での IME 名の操作
Delphi TScreen オブジェクトには、IME 名を受け入れるコレクションがあります。また、TControl は SetIMEName メソッドを提供します。
これらの IME 名は一定ですか? それらは ISO 言語名と同じですか?
プラットフォーム: Windows XP。
ありがとう、パヴァン。
android - ImeOptions の完了ボタンのクリックを処理するにはどうすればよいですか?
EditText
ユーザーがEditTextをクリックしたときにキーボードに完了ボタンを表示できるように、次のプロパティを設定しています。
RadioButton
ユーザーがスクリーン キーボードの完了ボタンをクリックすると (入力が終了しました)、状態を変更したいと考えています。
画面キーボードからヒットしたときに完了ボタンを追跡するにはどうすればよいですか?
windows - Windows: 一部のウィンドウで言語バーに入力方法のオプションが表示されない
私たちのアプリケーションが国際的な入力を適切に処理できるようにしようとしています。テキスト入力とフォント レンダリングは自分たちで処理するので、それぞれの WM_IME_* メッセージを処理するカスタム コードを作成しました。
現在、これはすべて正常に機能しますが、1 つの例外があります。アプリケーションのメイン ウィンドウが開いていると、言語バーでオプションを選択できません。入力言語を日本語または韓国語に設定できますが、入力方法 (ハングルまたはひらがななど) を選択するためのメニューが表示されません。次に、別のウィンドウ (アプリケーション ウィンドウの 1 つ、または標準の「ファイルの保存」ダイアログなど、他のウィンドウ) を開くと、オプションが表示されます。そこに着くと、他のウィンドウを閉じても残ります。IME 入力は、メイン ウィンドウで期待どおりに機能します。ただし、説明したように、最初に別のウィンドウを開いた場合のみです。
では、入力方法のオプションを表示するかどうかを、ウィンドウはどのように決定するのでしょうか? なんらかの理由で、Windows がメイン ウィンドウを Unicode 対応として認識していないようです。どうすれば修正できますか?
提案をお寄せいただきありがとうございます。
ジョナス
編集:私が気づいたもう1つの奇妙なことは、メインウィンドウ(入力方法を変更できない)で、入力言語を変更するとWM_INPUTLANGUAGECHANGEREQUESTメッセージが表示されることです-これをDefaultWindowProcWに渡します。入力方法を変更できるウィンドウの場合、要求が表示されず、WM_INPUTLANGUAGECHANGE メッセージが表示されるだけです (他のウィンドウでは表示されません)。
mode - ime モード onBlur を無効にします
imeMode がアクティブに設定されている入力フィールドがあります。したがって、このフィールドに入力すると、imeMode がアクティブになり、日本語を入力できるようになります。しかし、このテキストフィールドを離れても、IME はまだアクティブです。フィールドを離れるときに ime を無効にする方法を教えてください。onblur に何かを入れることはできるかもしれませんが、そこで何をすればよいかわかりません。私は愚かにも、このテキストフィールドの ime モードを非アクティブ onblur に設定しようとしましたが、もちろん、このテキストフィールドに再度入力したときにのみ有効になります。フォーカスを外すと、imeを非アクティブにして、imeモードを1つずつ非アクティブに設定せずに、他のフィールドにローマ字を入力できるようになることを望んでいました。
c# - C#およびIME-現在の入力テキストを取得する
例として日本語IMEを使用していますが、入力にIMEを使用する他の言語でもおそらく同じです。
ユーザーがIMEを使用してテキストボックスにテキストを入力すると、KeyDownイベントとKeyUpイベントが発生します。ただし、TextBox.Textプロパティは、ユーザーがEnterキーを使用してIMEへの入力を検証するまで、入力されたテキストを返しません。
たとえば、ユーザーが5回入力してから検証すると、5つのキーダウン/キーアップイベントが発生します。そのたびに、TextBox.Textは ""(空の文字列)を返し、最後にEnterキーのキーダウン/キーアップを取得します。キーとTextBox.Textは直接「あああああ」になります。
ユーザーが最後に検証する前に、ユーザーが入力しているときにユーザー入力を取得するにはどうすればよいですか?
(私はこれをWebページの<input>フィールドのjavascriptで行う方法を知っているので、C#で可能でなければなりません!)
c++ - C++ を介して IME 入力コンテキストを取得できない (ImmGetContext)
こんにちは、次の疑似コードを使用して、メモ帳で IME を無効にしようとしています。
上記のコードは常に null コンテキストを提供しています。GetLastError() は 0 を返します。
誰かが InputContext を取得する方法を教えてくれませんか