- - PR -
IEコンポーネントについてご教授ください
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-11-13 03:24
しょしと申します。
いつもお世話になっております。 IEコンポーネントの件で、ご質問させていただきます。 CViewクラスにIEコンポーネントを貼り付けてWEBページを表示しているのですが、WEBページ上でTABキーを押してもフォーカスが移動しません。 以下のようなコードを打って、いろいろと試しましたが、どうもうまくいきません。 皆様のお知恵を頂戴したく、よろしくお願いいたします。 開発環境 Windows XP VC++ Ver.6.0 MFC // TABキーを押されたことをキャッチして、IEコンポーネントに伝える // 機能しない BOOL CTestPro3View:reTranslateMessage(MSG *pMsg) { if(pMsg->message == WM_KEYDOWN) { if(pMsg->wParam == VK_TAB) { // this->m_hWndIE ← IEコンポーネントのウインドウハンドル ::SendMessage(this->m_hWndIE, pMsg->message, pMsg->wParam, pMsg->lParam); return TRUE; } } return FALSE; } | ||||
|
投稿日時: 2005-11-13 08:45
PostMessage で直接ポストしちゃダメでしょうか? _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-11-13 09:27
こんにちは。
IEコンポーネントってWebBrowserコントロールのことでしょうか? 「貼り付ける」の具体的実装がよく分からないのですが、 OCXでしょうか?それともIWebBrowser2のインスタンスを生成したのでしょうか? CHtmlViewクラスではダメなんですか?これだとTABキーでフォーカス移動しますけれども。 | ||||
|
投稿日時: 2005-11-13 11:20
しょしと申します。
じゃんぬねっとさん、Tdnr_Symさん、早速のご回答、誠にありがとうございます。 じゃんぬねっとさん > PostMessage で直接ポストしちゃダメでしょうか? →PostMessageでポストすると、フリーズしてしまいます。 原因がわからなくて・・・ Tdnr_Symさん > IEコンポーネントってWebBrowserコントロールのことでしょうか? > 「貼り付ける」の具体的実装がよく分からないのですが、 > OCXでしょうか?それともIWebBrowser2のインスタンスを生成したのでしょうか? →説明不足で大変申し訳ございません。 おっしゃるとおり、WebBrowserコントロールを使用しております。 また、実装方法については、下記にソースを記載させていただきましたので、 ご確認いただければ幸いです(申し訳ございません)。 // WM_CREATEメッセージ取得時に、IEコンポーネントを生成し、 // ホームページを表示する int CTestPro3View::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: この位置に固有の作成用コードを追加してください CComQIPtr<IWebBrowser2> pWB2; _Module.Init(ObjectMap, AfxGetApp()->m_hInstance); AtlAxWinInit(); m_hwndIE = CreateWindow("AtlAxWin", "Shell.Explorer.2", WS_CHILD|WS_VISIBLE, 0, 50, 1024, 700, this->m_hWnd, (HMENU)0, GetModuleHandle(NULL), NULL); CComPtr<IUnknown> punkIE; // m_hwndIEはメンバ変数 if (AtlAxGetControl(m_hwndIE, &punkIE) == S_OK) { pWB2 = punkIE; if(pWB2) { // ホームページを開く pWB2->GoHome(); return 0; } } return 0; } > CHtmlViewクラスではダメなんですか?これだとTABキーでフォーカス移動 > しますけれども。 →諸事情により、親はCViewじゃないとダメで、CHtmlViewは使うことはできません。。 正直、どうすればよいか見当がつきません。 お知恵を頂戴したく、よろしくお願い申し上げます | ||||
|
投稿日時: 2005-11-13 14:01
こんにちは。
とりあえず、TABキーが使えるように改造してみました。 …でも、ほとんど動作確認していないので、別の問題が起きないかどうか心配です。
どうでしょうか? [ メッセージ編集済み 編集者: Tdnr_Sym 編集日時 2005-11-13 14:02 ] | ||||
|
投稿日時: 2005-11-13 14:20
こんにちは。
ついでに…
無限ループに陥っているだけです。 | ||||
|
投稿日時: 2005-11-13 15:29
しょしと申します。
Tdnr_Symさん 大変ご親切にご回答をくださり、誠にありがとうございました。 ご教授いただいたソースを早速使わせていだいたところ、 問題なく正常に起動しているように感じます。 本当にありがとうございました。 |
1