次の問題があります。
ダイアログを開き、SIP キーボードを開いてフォームに入力し、SIP を最小化します。次に、現在のダイアログを閉じてメイン ダイアログに戻ると、SIP キーボードが再び表示されます。SIPキーボードをプログラムで表示/非表示にする方法、または説明されている問題を解決するために何ができるかを知っている人はいますか? ユーザーがキーボードを最小化すると、ダイアログの切り替え時に画面に表示されなくなります。
ありがとう!
次の問題があります。
ダイアログを開き、SIP キーボードを開いてフォームに入力し、SIP を最小化します。次に、現在のダイアログを閉じてメイン ダイアログに戻ると、SIP キーボードが再び表示されます。SIPキーボードをプログラムで表示/非表示にする方法、または説明されている問題を解決するために何ができるかを知っている人はいますか? ユーザーがキーボードを最小化すると、ダイアログの切り替え時に画面に表示されなくなります。
ありがとう!
coredll でSipShowIM ()を呼び出す必要があります。この MSDN の記事を参照してください。
SHSipPreferenceを使用して、アプリケーションでの SIP の表示を制御します。MFCで動作し、ウィンドウのSIPの状態を設定することを知っているので、一度設定すると、ウィンドウが表示されるたびにSIPの状態が設定された状態に復元されることがわかります。
SipShowIM について聞いたことはありませんが、リンクされている MSDN ページで見ました。
SIP (SIPShowIM) を表示および非表示にする標準的な方法では、MFC ダイアログでいくつかの問題が発生します。
...他のダイアログで、キーボードレイアウトを数値に設定したいので、コンストラクターに次の行を追加しました。SendMessage(EM_SETINPUTMODE、0、EIM_NUMBERS); ただし、この行を削除すると、1つの問題を解決し、別の問題を作成します
GetLastError()は、6(無効なハンドル)または120(サポートされていません)のいずれかです。EM_SETINPUTMODEはスマートフォンでのみサポートされており、スマートフォンにはSIPがありません。http://msdn.microsoft.com/en-us/library/bb416452.aspxを参照してください。
Microsoft.WindowsCE.Forms.InputPanel コンポーネントを使用できます。Enabled プロパティを使用して、プログラムで SIP を表示/非表示にすることができます。ツールボックスに InputPanel コンポーネントがあります。
処理できる InputPanel の EnabledChanged イベントもあります。通常、テキスト ボックスの GetFocus イベントで SIP を表示します。