• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            yehao's Blog

            如何對(duì)webbrowser和IE編程(二)

            調(diào)用 Navigate 方法比GoBack 以及 GoForward  要困難,但如果你正僅僅導(dǎo)航到URL 且并不傳遞任何附加參數(shù), 它的調(diào)用很容易。 舉例來(lái)說(shuō), VB中導(dǎo)航到 Microsoft 主頁(yè), 可如下:

            WebBrowser1.Navigate "http://www.microsoft.com"

            VB代碼調(diào)用Navigate 如此容易因?yàn)樗袇?shù)出第一個(gè)參數(shù)外都可以是可選. 如此相對(duì)照,VC++不可以省略任何參數(shù). 如果你想使用VC++不是勇任何特別的參數(shù)導(dǎo)航到 Microsoft的 home page, 你必須傳遞空的VARIANT 結(jié)構(gòu)。 MFC 應(yīng)用程序,你必須如下調(diào)用 Navigate

            COleVariant vtEmpty;
            m_webBrowser.Navigate(_T("http://www.microsoft.com"), &vtEmpty, &vtEmpty,
                             &vtEmpty, &vtEmpty);

            該例子展示了在MFC應(yīng)用程序中控制WebBrowser控件. 我傳遞一個(gè)普通的字符串而替代 BSTR 因?yàn)?MFC 提供了一個(gè) WebBrowser 控件的包裝類,第一個(gè)載包裝類中是LPCTSTR, 一個(gè)普通的字符串. 其他參數(shù)為指向 VARIANT 結(jié)構(gòu)的指針。 如果你不想指定任何特別的參數(shù), 別僅僅傳遞 NULL —那樣做, 你的應(yīng)用程序會(huì)招來(lái)崩潰。你必須傳遞一個(gè)空的VARIANT 結(jié)構(gòu)的指針. 前面的代碼使用了COleVariant 類, 那是一個(gè)與 CComVariant 類相似的類。 COleVariant 簡(jiǎn)單包裝了 VARIANT 使得VARIANT 結(jié)構(gòu)易于使用.

            屬性 現(xiàn)在你看到了所有的 IwebBrowser 的方法,你大概向了解其屬性。(我是不是太苛求了?) IWebBrowser 接口有30個(gè)屬性,描述于表6-2. 我一已按照IWebBrowser  的Vtable中的字母序列出。

            Table 6-2. IWebBrowser 屬性按照vtable排序

            屬性

             

             

            描述

             

             

            Application

             

             

            返回宿主WebBrowser 控件的自動(dòng)化對(duì)象 (IDispatch實(shí)現(xiàn),如果對(duì)象不可用,則返回的WebbOrwser控件的自動(dòng)化對(duì)象

             

             

            Parent

             

             

            返回WebBrowser控件的父控件的自動(dòng)化實(shí)現(xiàn) (IDispatch,通常是容器舉例來(lái)講,,您的宿主或者Internet Explorer 窗口。

             

             

            Container

             

             

            返回WebBrowser控件容器的自動(dòng)化對(duì)象 (IDispatch。通常,該值返回同Parent 屬性一樣的值。.

             

             

            Document

             

             

            返回活動(dòng)文檔的自動(dòng)化實(shí)現(xiàn) (IDispatch。如果 HTML 當(dāng)前顯示在WebBrowser Document 屬性給出你存取 DHTML 對(duì)象模型的途徑.

             

             

            TopLevelContainer

             

             

            返回一個(gè)布爾值指示IE是否是WebBRowser控件的頂級(jí)容器。在words中,如果IE是宿主應(yīng)用承需則返回true

             

             

            Type

             

             

            返回已經(jīng)在WebBrowser中裝載的對(duì)象的類型。舉例,如果HTML document被裝載Type 將返回 Microsoft HTML Document 5.0如果文檔是Word 文檔Type 返回 Microsoft Word Document.

             

             

            Left

             

             

            .返回或設(shè)置控件在容器窗口左邊距

             

             

            Top

             

             

            .返回或設(shè)置控件在容器窗口頂部邊距

             

             

            Width

             

             

            返回或設(shè)置webbrowser控件在窗口中的水平方向的向蘇為單位寬度

             

             

            Height

             

             

            返回或設(shè)置webbrowser控件在窗口中的處置方向的向像素為單位高度

             

             

            LocationName

             

             

            返回一個(gè)WebBrowser當(dāng)前顯示的資源名稱的字符串 (換句話講, HTML 頁(yè), Word 文檔,folder, 諸如此類 如果資源是 HTML 頁(yè),字符串是標(biāo)題。如果資源是文件或者文件夾,字符串為文件名或者文件夾名。舉例, foo.doc Word文檔)或者  Temp temp directory.

             

             

            LocationURL

             

             

            返回WebBrowser正在顯示的資源的URL

             

             

            Busy

             

             

            返回一個(gè)布爾值指示WebBrowser 當(dāng)前是否正在裝入 URL.。如果當(dāng)前屬性返回 true, 你可以使用 Stop 方法取消代掉導(dǎo)航。

             

             

            看完表 6-2, 清晰展示了你可使用的屬性. 當(dāng)中的一些可能需要更多的解釋. IWebBrowser 使用的相當(dāng)多的一個(gè)屬性是 LocationURL, 給出了當(dāng)前你裝入WebBrowser窗口的 URL。 獲取LocationURL 值在VB中相當(dāng)容易:

            Dim strLocation
            strLocation = WebBrowser1.LocationURL

            Visual C++的MFC應(yīng)用,  MFC 包裝類使的訪問(wèn)LocationURL 很容易. 你簡(jiǎn)單調(diào)用 GetLocationURL方法,該方法返回一個(gè) CString 對(duì)象. 當(dāng)你想在自動(dòng)化IE中或者webBrowser的MFC應(yīng)用中訪問(wèn)LocationURL when automating Internet Explorer or when hosting the WebBrowser control in a C++ application that's not built by using MFC, 你必須調(diào)用攜帶一指向BSTR的指針BSTR 將包含返回值. 此處展示如何在 C++中使用:

            BSTR bstrURL;
            m_pInternetExplorer->get_LocationURL(&bstrURL);

             

            存取 Document 屬性在VB中相當(dāng)容易,當(dāng)定義一個(gè)變量后(舉例, HtmlDoc), 值需要 set 為Document 屬性:

            Set HtmlDoc = WebBrowser1.Document

            MFC 中也很容易,使用 MFC 包裝類的GetDocument方法:

            IDispatch* pDisp;
            pDisp = m_webBrowser.GetDocument();

            GetDocument 返回指向代表文檔 IDispatch 接口的指針. 如果 GetDocument 失敗, 該對(duì)象將為NULL.

            非MFC C++ 應(yīng)用或者任何自動(dòng)化IE的C++ 應(yīng)用訪問(wèn)Document 屬性就只能夠采用調(diào)用COM的方法—通過(guò)屬性的get_方法. (注藝屬性實(shí)只讀,所以這里無(wú)put_ 方法.) 當(dāng)調(diào)用 Document  get_ 方法,你傳遞一個(gè)接受 IDispatch 的指針.此處展示了如何調(diào)用:

            IDispatch* pDisp;
            HRESULT hr = m_pInternetExplorer->get_Document(&pDisp);

            當(dāng)使用這些代碼,你可以使用 SUCCEEDED 宏( Win32 API的一部分), 以監(jiān)測(cè)調(diào)用是否成功。在嘗試使用Idispatch接口前你應(yīng)當(dāng)確信調(diào)用成功。

            posted on 2012-09-22 21:33 厚積薄發(fā) 閱讀(563) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Windows編程

            導(dǎo)航

            <2025年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆分類

            文章分類

            文章檔案

            搜索

            最新評(píng)論

            欧美精品一区二区精品久久| 亚洲精品综合久久| 久久国产免费观看精品3| 狠狠色婷婷久久一区二区三区| 久久精品aⅴ无码中文字字幕重口 久久精品a亚洲国产v高清不卡 | 亚洲AⅤ优女AV综合久久久| 麻豆久久久9性大片| 亚洲人成精品久久久久| 免费观看成人久久网免费观看| 久久婷婷五月综合色99啪ak| 亚洲精品乱码久久久久久蜜桃图片 | 伊人久久五月天| 久久夜色精品国产亚洲| 97香蕉久久夜色精品国产| 久久精品草草草| 久久热这里只有精品在线观看| 青青青国产精品国产精品久久久久 | 久久天堂电影网| 亚洲日本久久久午夜精品| 99久久精品午夜一区二区| 2021国内久久精品| 久久久久亚洲AV成人网人人软件| 中文无码久久精品| 欧美一级久久久久久久大片| 久久亚洲国产精品一区二区| 人人狠狠综合久久88成人| 久久久久99这里有精品10| 久久香蕉国产线看观看猫咪?v| 久久综合中文字幕| 久久精品中文字幕久久| 亚洲国产精品热久久| 热久久这里只有精品| 久久国产精品久久| 精品久久久久久久无码 | 理论片午午伦夜理片久久| 国产精品免费久久久久影院 | 久久久久久久99精品免费观看| 蜜臀久久99精品久久久久久小说| 亚洲欧美日韩久久精品第一区| 精品伊人久久大线蕉色首页| 亚洲综合精品香蕉久久网|