J'ai développé un plug-in Outlook 2003 qui se connecte à une fenêtre de composition de message. C'est un plug-in VSTO écrit en C# sur .Net 3.0 en utilisant VS 2008.Le plug-in Outlook 2003 Rich Text Box ne recevant pas certaines frappes
Visuellement, le plug-in ajoute une zone de texte supplémentaire et quelques autres contrôles (principalement du texte pour la zone de texte enrichi) au en bas de la fenêtre de composition d'Outlook. Le problème que je rencontre est que certaines séquences de touches sont "détournées" de la zone de texte enrichi (qui a le focus) et auxquelles la zone de texte de composition principale répond. J'ai isolé les détails suivants:
- L'entrée de texte se produit normalement.
- Les touches fléchées, Suppr, gauche et droite (et éventuellement d'autres) sont "piratées" et provoquent l'effet approprié dans la zone de composition MAIN. Le focus reste sur mon contrôle de texte enrichi.
3.Spy ++ signale que la zone de texte enrichi reçoit un événement WM_KEYDOWN et un événement WM_KEYUP, mais le gestionnaire d'événements pour la zone de texte enrichi affiche uniquement un WM_KEYUP. - Si une autre zone de saisie de texte est sélectionnée avant de sélectionner ma zone de texte enrichi, mon texte enrichi fonctionne normalement (et reçoit un événement WM_CHAR lorsque vous appuyez sur Retour arrière, en plus de WM_KEYDOWN et WM_KEYUP) Cela se produit UNIQUEMENT lorsque le compositeur est en mode de composition HTML et ne se produit pas lorsque le compositeur est configuré pour composer du texte enrichi ou du texte brut.
- La zone de texte Composer principal ne reçoit PAS les événements WM_CHAR, WM_KEYUP ou WM_KEYDOWN, même s'ils lui répondent apparemment.
J'ai trouvé un fil similaire sur ce forum qui a été somehwhat instructif, mais sa solution n'a pas fonctionné pour moi:
WPF TextBox Not Accepting Delete Key
j'ai pu étendre la WndProc de fenêtre de composition, mais n'a pas été en mesure de intercepter tous les messages à ce niveau qui étaient pertinents au problème que j'avais.
Le comportement que j'ai vu suggère qu'il s'agit d'un bogue dans le composeur HTML InProc, qui est apparemment un certain contrôle fourni par IE. Toute aide pour résoudre ce problème serait très appréciée.
Merci, c'est intéressant, je vais vérifier et voir si SQL invite peut être impliqué, mais je ne pense pas que je l'utilise. Il semble que le flux du clavier est manipulé depuis le programme lui-même ... – Michael