メッセージ作成ウィンドウにアタッチするOutlook 2003プラグインを開発しました。これはVSTOプラグインで、VS2005を使って.Net 3.0上で書かれました。Outlook 2003プラグインリッチテキストボックスが特定のキーストロークを受信しない
視覚的には、プラグインはリッチテキストボックスとリッチテキストボックス用のいくつかの他のコントロールOutlookの作成ウィンドウの下部。
問題は、特定のキーストロークが、リッチテキストボックス(フォーカスがある)から「ハイジャック」され、メインのテキストテキストエリアによって応答されていることです。私は次の細部を隔離しました:
- テキスト入力は通常通り起こります。
- バックスペース、削除、左右の矢印キー(およびその他のもの)が「ハイジャック」され、MAIN作成エリアに適切な効果が生じます。フォーカスは自分のリッチテキストコントロールに残ります。
3.Spy ++は、リッチテキストボックスがWM_KEYDOWNイベントとWM_KEYUPイベントを受け取ると報告しますが、リッチテキストボックスのイベントハンドラはWM_KEYUPのみを示します。 - リッチテキストボックスを選択する前に、メインの作成ウィンドウの別のテキスト入力エリアが選択されている場合、リッチテキストボックスは正常に機能します(また、Backspaceを押すとWM_KEYDOWNおよびWM_KEYUPに加えてWM_CHARイベントを受け取ります)
- これは、コンポーザーがHTML作成モードの場合にのみ発生し、コンポーザーがリッチテキストまたはプレーンテキストを作成するように設定されている場合は発生しません。
- メインの作成テキスト領域は、WM_CHAR、WM_KEYUP、またはWM_KEYDOWNイベントが明らかに応答しても受信されません。
私は有益somehwhatたこのフォーラムに同様のスレッドを見つけましたが、彼の解決策は私のために動作しませんでした:私は、作成ウィンドウのWndProcメソッドを拡張することができたが、することができませんでした
WPF TextBox Not Accepting Delete Key
そのレベルで、私が抱えていた問題に関連するメッセージを傍受してください。
私が見た振る舞いは、これがInProc HTML作曲家のバグであることを示唆しています。これを解決する助けがあれば非常に感謝します。
ありがとう、これは面白いです、私は確認し、SQLプロンプトが関与する可能性があります参照してくださいが、私はそれを使用しているとは思わない。キーボードストリームがプログラム内から操作されているようです... – Michael