• <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

            如何對webbrowser和IE編程(二)

            調用 Navigate 方法比GoBack 以及 GoForward  要困難,但如果你正僅僅導航到URL 且并不傳遞任何附加參數, 它的調用很容易。 舉例來說, VB中導航到 Microsoft 主頁, 可如下:

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

            VB代碼調用Navigate 如此容易因為所有參數出第一個參數外都可以是可選. 如此相對照,VC++不可以省略任何參數. 如果你想使用VC++不是勇任何特別的參數導航到 Microsoft的 home page, 你必須傳遞空的VARIANT 結構。 MFC 應用程序,你必須如下調用 Navigate

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

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

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

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

            屬性

             

             

            描述

             

             

            Application

             

             

            返回宿主WebBrowser 控件的自動化對象 (IDispatch實現,如果對象不可用,則返回的WebbOrwser控件的自動化對象

             

             

            Parent

             

             

            返回WebBrowser控件的父控件的自動化實現 (IDispatch,通常是容器舉例來講,,您的宿主或者Internet Explorer 窗口。

             

             

            Container

             

             

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

             

             

            Document

             

             

            返回活動文檔的自動化實現 (IDispatch。如果 HTML 當前顯示在WebBrowser Document 屬性給出你存取 DHTML 對象模型的途徑.

             

             

            TopLevelContainer

             

             

            返回一個布爾值指示IE是否是WebBRowser控件的頂級容器。在words中,如果IE是宿主應用承需則返回true

             

             

            Type

             

             

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

             

             

            Left

             

             

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

             

             

            Top

             

             

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

             

             

            Width

             

             

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

             

             

            Height

             

             

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

             

             

            LocationName

             

             

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

             

             

            LocationURL

             

             

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

             

             

            Busy

             

             

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

             

             

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

            Dim strLocation
            strLocation = WebBrowser1.LocationURL

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

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

             

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

            Set HtmlDoc = WebBrowser1.Document

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

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

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

            非MFC C++ 應用或者任何自動化IE的C++ 應用訪問Document 屬性就只能夠采用調用COM的方法—通過屬性的get_方法. (注藝屬性實只讀,所以這里無put_ 方法.) 當調用 Document  get_ 方法,你傳遞一個接受 IDispatch 的指針.此處展示了如何調用:

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

            當使用這些代碼,你可以使用 SUCCEEDED 宏( Win32 API的一部分), 以監測調用是否成功。在嘗試使用Idispatch接口前你應當確信調用成功。

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

            導航

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

            統計

            常用鏈接

            留言簿

            隨筆分類

            文章分類

            文章檔案

            搜索

            最新評論

            免费精品久久天干天干| 色综合久久无码中文字幕| 99久久精品久久久久久清纯 | 国产精品久久永久免费| 九九久久自然熟的香蕉图片| 青青青国产精品国产精品久久久久 | 精品视频久久久久| 亚洲精品国产第一综合99久久| 亚洲国产精品无码久久久秋霞2 | 少妇精品久久久一区二区三区| 中文精品久久久久国产网址 | 综合久久精品色| 国内精品久久九九国产精品| 无码精品久久一区二区三区 | 久久精品国产亚洲AV嫖农村妇女| 久久香蕉国产线看观看99| 色综合久久夜色精品国产| 99久久精品免费看国产免费| 亚洲精品tv久久久久久久久| 人妻无码精品久久亚瑟影视| 亚洲国产成人久久精品影视| 久久久久亚洲av无码专区喷水 | 一本色道久久88综合日韩精品| 欧美精品一区二区精品久久| 久久精品无码专区免费东京热| 东方aⅴ免费观看久久av| 久久亚洲国产成人精品无码区| 亚洲伊人久久大香线蕉苏妲己| 久久青青草原精品国产| 亚洲欧美伊人久久综合一区二区| 久久伊人五月丁香狠狠色| 久久久久99这里有精品10| 四虎久久影院| 一极黄色视频久久网站| 久久午夜无码鲁丝片午夜精品| 精品无码久久久久久国产| 亚洲午夜精品久久久久久人妖| 四虎国产精品免费久久5151| 热re99久久精品国产99热| segui久久国产精品| 久久九九免费高清视频|