我的http://www.delphibbs.com/delphibbs/DispQ.asp?LID=301420贴子也进不去了,
请版主帮忙看看,每次页面Load完成后都不能显示回复的文本框,所以我把问题放到这里
来吧,请版主将原贴子删除,把分合并在这里吧。
301420贴子的问题是:
我看过Cakk在http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=159175中的回答
,但只能在D5上使用,如何在D4中使用?如只能在D5中使用,那么,如何解决RxLib2.75(for D5)中的
RxRichEdit经D5编译后没有Popmenu的问题(在D4中正常)?
cakk的回答是:
var doc:IPersistStreamInit;
stream:tstream;
begin
with webbrowser1 do
begin
if not Assigned(document) then
begin
Go('about:blank');
while readystate <> READYSTATE_COMPLETE do application.ProcessMessages;
end;
//将buffer内容保存到stream里面
//...........
//然后
Stream.seek(0, 0);
(Document as IPersistStreamInit).Load(TStreamadapter.Create(Stream));
end;
end;
以上代码可在D5中通过,但是在D4中出现未知错误。
To yeah:
我搞定它了!如下:
var
DoC: IHTMLDocument2;
Txt: IHTMLTxtRange;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
WebBrowser1.SelectAll; //这句很重要,因为IHTMLTxtRange
的所有方法前提必须要有一个TextRange,不过放心,这句话执行的结果不会显示。
Txt :=Doc.selection.createRange as IHTMLTxtRange;
Txt.findText('新闻',0,0);
Txt.select;
end;