Delphi實現(xiàn)HTMLWebBrowser實現(xiàn)HTML界面 HTML的界面有以下特點:圖文混排,,格式靈活,,可以包含F(xiàn)lash、聲音和視頻等,,實現(xiàn)圖文聲像的多媒體界面,,而且易于建立和維護(hù)。另外,,HTML的顯示環(huán)境一般機(jī)器上都具備,,通常不需要安裝額外的軟件。當(dāng)然,,HTML界面也有它欠缺的方面,,即:界面控制能力有限,代碼調(diào)試不便----雖然DHTML提供了比較強(qiáng)的編程特性,,但是比起Delphi的傳統(tǒng)的開發(fā)語言和工具來,,對界面的控制能力,尤其是和數(shù)據(jù)交互時的控制能力還是稍遜一籌,。 了解了這些特點,,我們就可以在實際應(yīng)用開發(fā)中,適時地選擇HTML技術(shù)。下面舉個例子: 一種儀器的管理程序,,需要顯示該儀器的操作方法文檔,,包含文字和圖片,并要求可以隱藏或顯示文檔,,并能安要求打印,。 這個應(yīng)用中,圖文顯示,、隱藏/顯示部分文檔,、圖文打印等需求,都是HTML界面所擅長的,,用傳統(tǒng)的表單控件實現(xiàn)幾乎無法想像,。 用什么實現(xiàn)HTML的界面 用Delphi實現(xiàn)HTML界面的應(yīng)用主要有兩種選擇:WebBrowser Control或MSHTML。為了弄清兩者如何選擇,,我們先來看看Internet Exporer 4.0及其后續(xù)版本的體系結(jié)構(gòu): http://msdn.microsoft.com/workshop/graphics/IE4Arch.gif IE瀏覽器是建立在SHDOCVW.DLL組件之上的,,而SHDOCVW.DLL則建立在MSHTML.DLL組件之上,,底層則包括腳本引擎等。SHDOCVW.DLL提供了對活動文檔(Active Document)的支持----例如Word等文檔可以在IE中顯示,,并提供導(dǎo)航、in-place*連接、收藏夾、瀏覽歷史和分級內(nèi)容選擇(PICS: Platform for Internet Content Selection)等功能,。SHDOCVW.DLL組件雖然也提供了很多接口可以單獨使用,,但是通常所指的SHDOCVW.DLL就是WebBrowser Control,。MSHTML.DLL是實行HTML解析和表現(xiàn)的組件,。它通過DHTML對象模型提供對HTML文檔的訪問。它實現(xiàn)了活動文檔服務(wù)器接口,,可以通過COM接口調(diào)用,。 不難看出,WebBrowser在比較高的層次上,,提供了更為豐富的功能,,因此一般通常編程都采用WebBrower控件,。MSHTML只有在需要解析HTML這樣的特殊應(yīng)用中,,才推薦使用,。微軟的MSDN網(wǎng)站上提供了一個使用MSHTML的例子:WalkAll'>http://msdn.microsoft.com/downloads/samples/internet/browser/walkall/default.asp">WalkAll Sample Source Page,。 (*注:In-place鏈接,是指點擊HTML連接時,,在相同的WebBrowser實例中顯示連接的HTML文檔,。如果僅使用MSHTML.DLL,點擊鏈接將導(dǎo)致在新的瀏覽器實例中打開鏈接的文檔,。) 如何訪問HTML頁面的內(nèi)容 首先,,在Delphi 7.0組件面板的Internet頁上,,把TWebBrowser組件放到表單上。 通過執(zhí)行以下語句裝載HTML文檔到WebBrowser中進(jìn)行顯示: WebBrowser1.Navigate(GetCurrentDir + '\index.htm'); 隱藏/顯示HTML元件代碼示例: var 設(shè)置/取值代碼示例: var |