我們有一個在Visual Studio 2008中創建的MFC ActiveX控件,具有CLR支持,它創建一個WPF網格並在該網格中顯示一個WPF窗口。在Internet Explorer中運行的MFC ActiveX中運行的wpf窗口中的關鍵筆劃
這個ActiveX託管在Internet Explorer中,它顯示和工作很好,除了Tab鍵,退格鍵,功能鍵等不起作用,因爲它們是由IE瀏覽器而不是WPF窗口處理的。普通字符很好地工作。這是一個已知的功能,以前當我們使用這個時,我們曾經在這個ActiveX中使用基於MFC的對話框:http://support.microsoft.com/kb/187988。通過只使用此代碼直接
AfxGetApp()->PreTranslateMessage((LPMSG)lParam)
語句將返回FALSE,所以我沒能拿到鑰匙行程由WPF窗口辦理。我相信我需要問這個WPF應用程序而不是CWinApp,但我不知道如何以及如何做到這一點。有沒有人有足夠的瞭解這裏發生了什麼,以使其發揮作用?
使用XBAP而不是ActiveX是不可行的,因爲這是在需要比沙箱可以提供更多訪問權限的Intranet應用程序中運行的。
我希望這是足夠的信息。
與問候
斯韋恩Dybvik