プロが教える店舗&オフィスのセキュリティ対策術

MFCAppウィザードで作ったSDIのプログラムで
IEコンポーネント(CWebBrowser2)をフォームに表示し
それを編集モードにしたいと思っています。
リソースエディタでフォームにコントロールを貼り付けています。

http://www.nitoyon.com/vc/tips/ie_component.htm
こちらを参考に、IWebBrowser2のポインタを取得し
そこからIHTMLDocument2を取ってデザインモードに
したいのですが、うまくIWebBrowser2のポインタを
取得することが出来ません。

CWnd* pIE = (CWnd *)GetDlgItem(IDC_EXPLORER1);
if (pIE == NULL) return;

// コントロールのハンドルを得る
HWND hWnd = pIE->GetSafeHwnd();
// 使えるかどうかチェック
if (hWnd != NULL && ::IsWindow(hWnd) != 0) {
CComPtr<IUnknown>punkIE;

if (AtlAxGetControl(hWnd, &punkIE) == S_OK){//ここで失敗する
CComQIPtr<IWebBrowser2> pWB2 = punkIE;
if(pWB2 != NULL){
CComPtr<IDispatch> pDisp ;
pWB2->get_Document( &pDisp) ;
CComQIPtr<IHTMLDocument2> pDoc = pDisp ;
pDoc->put_designMode(L"On");
}
}
}

A 回答 (1件)

編集モードとか、デザインモードの意味がよくわからないのですが・・・

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!