一個webbrowser轉成delphi |
答題得分者是:leveon
|
linwinshin
一般會員 發表:8 回覆:13 積分:4 註冊:2015-03-05 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
你的问题不是这几行 code 那么简单了。
首先,这几行 code 是基于 Windows 底下的 IE 浏览器的一些 Interface 的。如果你用 FireMonkey,要注意其 TWebBrowser 在不同的平台下封装的东西不一样。在 Windows 底下它封装的是 IE。因此,你最好是在 VCL 的架构下使用 TWebBrowser 来进行实验。 背景交代完毕。 要使用对 IE 封装的 TWebBrowser,你必须在放了 TWebBrowser 的单元里面,uses 两个单元:SHDocVw, MSHTML 然后,你可以声明一个变量,类型是 IHTMLDocument2。 比如,我这样:FDoc: IHTMLDocument2; 然后,当你的 WebBrowser 打开完毕后,你可以通过以下的 code 获得它: FDoc := WebBrowser1.Document as IHTMLDocument2; 注意,一定要等 WebBrowser 打开完毕,才能用上述那句 code。否则会失败。 插一句,如果你的 WebBrowser 不是通过 Navgagte 的方式来打开的,你仅仅想打开一个空白的没有内容的 WebBrowser,可以这样: WebBrowser1.Navigate('About:Blank'); 当你获得 FDoc 以后,就可以做你要做的事了,比如: var Range: IHTMLTxtRange; if Assigned(FDoc) then begin Range := (FDoc.body AS IHTMLBodyElement).createTextRange; Range.Collapse(False); Range.PasteHTML(RS); end; 简单解释一下:这个 FDoc 是 IHTMLDocument2,它声明在 MSHTML.pas 这个单元里面,你可以进去查看它都有些什么方法或者属性。它实际上是 IE 这个 COM 对象的 interface。要理解这些,你必须明白 Windows 的 COM 架构和 COM interface。 ===================引 用 linwinshin 文 章=================== 各位前輩好 我想改變webbrowser的 |
linwinshin
一般會員 發表:8 回覆:13 積分:4 註冊:2015-03-05 發送簡訊給我 |
本以為沒人回答 .很高興看到前輩的答覆.
. 我用了以下的碼 ,但出錯在RS.不知該如何改進? var Range: IHTMLTxtRange; FDoc: IHTMLDocument2; begin if Assigned(nweb1) then begin FDoc := nWeb1.Document as IHTMLDocument2; Range := (FDoc.body AS IHTMLBodyElement).createTextRange; Range.Collapse(False); Range.PasteHTML(RS);//error end;
------
林文信 |
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
|
linwinshin
一般會員 發表:8 回覆:13 積分:4 註冊:2015-03-05 發送簡訊給我 |
|
pcplayer99
尊榮會員 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
|
leveon
資深會員 發表:30 回覆:389 積分:303 註冊:2012-02-12 發送簡訊給我 |
照翻 但能不能達到你想要的效果就不知道了
uses ... Variants, MSHTML, ActiveX; var doc:IHtmlDocument2; o:IHtmlTxtRange; elm: IHTMLElement; begin doc := WebBrowser1.Document as IHtmlDocument2; o := doc.selection.createRange as IHtmlTxtRange; elm := o.parentElement; elm.style.lineHeight := 11; ===================引 用 linwinshin 文 章=================== 各位前輩好 我想改變webbrowser的 |
linwinshin
一般會員 發表:8 回覆:13 積分:4 註冊:2015-03-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |