Wince程序显示网页的问题,IWebBrowser2?

liang11_cn   2009-2-5 18:24 楼主
最近想做一个Wince下的程序,能在程序中显示网页。
由于wince不支持htmlview类,所以使用了IWebBrowser2来实现
参考http://www.vckbase.com/document/viewdoc/?id=1145做了一个,
但是程序窗口本身不能显示网页,是另外打开了IE来显示网页。
大家说说问题出在哪里呢?还是我的思路就不对呢?


代码如下:
public:
        IWebBrowser2  *m_pBrowser;
        CWnd         m_wndBrowser;   ////IWebBrowser2 的容器
        void           Navigate(CString); ///调用IWebBrowser2的Navigate接口

CIEView:: CIEView ()
{
        m_pBrowser = NULL;
}

void  CIEView::Navigate(CString  strURL)
{
        COleVariant     empty;
        BSTR bstrURL = strURL.AllocSysString();
        m_pBrowser->Navigate (bstrURL, COleVariant((long) 0, VT_I4), empty, empty, empty);
}

在IEView.cpp文件里定义消息处理函数: ///响应WM_CREATE
int CIEView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
        if (CView::OnCreate(lpCreateStruct) == -1)
                return -1;
       
        ////////////////////////////////////////////////////
        RECT rectClient;
        GetClientRect(&rectClient);  ///在客户端整个区域显示
        ///创建控件
        if (! m_wndBrowser.CreateControl(CLSID_WebBrowser, NULL, WS_VISIBLE | WS_CHILD,
        rectClient, this, AFX_IDW_PANE_FIRST))
        {
                DestroyWindow();
                return FALSE;
        }
        ///得到指针
        LPUNKNOWN lpUnk = m_wndBrowser.GetControlUnknown();
        HRESULT hr = lpUnk->QueryInterface(IID_IWebBrowser2, (void**) &m_pBrowser);
        if (! SUCCEEDED(hr))
        {
                m_pBrowser = NULL;
                m_wndBrowser.DestroyWindow();
                DestroyWindow();
                return FALSE;
        }
        Navigate(_T("\\FLASH_Storage\\HTEST\\index.html"));}
        return 0;
}


回复评论 (7)

没玩过,关注一下
点赞  2009-2-6 08:40
PPC 问题,就是wince,不知道是系统生成时那里设置不对?或者不支持?不可能啊。
点赞  2009-2-6 08:51
没搞过,你也可以参考WINCE提供的IESimple代码,\PUBLIC\IE\OAK\IESIMPLE
点赞  2009-2-6 09:15
我也在做一个类似的,不过是要求能在对话框中显示网页,用的是STHtmlDialog,出现的问题是这个类的示例程序在我的PDA上没有显示,但这个类应该是可用的,你可以试试,我怀疑我的有可能是平台的问题,armv4i,wince5.0
点赞  2009-2-6 15:45
wince5的sdk里就没有Htmlctrl.h这个头文件,所以这个方法也不能用。
可能只能需要IWebBrowser2来实现。
继续关注高手解答...
点赞  2009-2-9 11:54
wince 4.2 支持IWebBrowser2吗?
IWebBrowser2组件哪里可以找到?
点赞  2009-3-24 22:38
我们用的就是IESIMPLE。呵呵。可以参考下。
点赞  2009-3-27 23:59
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复