2011-08-09 4 views
0

COM相互運用機能を使用してwpfウィンドウを呼び出すVisual FoxPro 9アプリケーションがあります。 TABを初めて押すと、フォーカスはFoxProウィンドウに戻ります。私がwpfウィンドウに戻った場合、これは3回目までやり直してからフォーカスが正常に機能します。これは、マウスまたはAlt + Tabキーを使用してwpfウィンドウに戻ります。これは、フォーカスされた要素(textbox、datepicker、...)があるかどうかにかかわらず発生します。 ウィンドウのPreviewKeyDownイベントをキャプチャしようとしましたが、キャプチャする前に発生しているようです。私はwpfアプリケーションでwpfウィンドウをテストしていますが、うまくいきます。FoxproでホストされているWpfウィンドウは、Tabを押したときにフォーカスをfoxproに戻します。

Cシャープクラスは次のようである:

[ClassInterface(ClassInterfaceType.AutoDispatch)] 
[ProgId("SBN.WPF.Com")] 
[ComVisible(true)] 
public class WpfFoxPro 
{ 

とFoxProの呼び出しは次のようにされています

oDll = Createobjectex("SBN.WPF.Com", "", "") 
oDll.VOpenWPFWindow() 

私は、Visual Studio 2010と.NET 4.0を使用していると私は外に実行していますアイデア。誰かがこれについて何かを知っていますか?

答えて

1

恐ろしいかもしれませんが、WPFがアクティブな間にVFPウィンドウを無効にできますか?それは、ソリューション、しかし、VFPでの作業の10年に基づいて、時にはあなただけのレンガの壁に頭をバッシングを停止し、その場しのぎのために行く必要がありません。 ;)

+0

これは私が見つけて実際の解決策を見つけている間にそれを持っている方法です。 – CarlosJ

+0

それ以上の研究はありませんでしたが、ほぼ1年後にはまだ同じです...今、アプリケーション全体をWPFとFoxProについて忘れる。 – CarlosJ

+0

私はその贅沢を欲しかったです! ;) – Swordblaster

関連する問題