关于TWebbrowser的高难度问题(100分)

  • 主题发起人 主题发起人 yeah
  • 开始时间 开始时间
Y

yeah

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在TWebbrowser中查找文本并对找到的文本设置SelText?(不使用TWebbrowser的OLECMD_FIND对话框)
 
为什么没有人回答呢?
 
有点难度,建议问问HubDog大虾。
 
不能调用execwb(olecmd_find,OLECMDEXECOPT_DONTPROMPTUSER,...)吗?
 
Hubdog大虾,您在哪?
 
我也想知道
 
我的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中出现未知错误。
 
大虾们到哪儿去了?
 
我在MSDN里面似乎找到了一些眉目,还不是很清楚,等我再试试看。
 
那个帖子现在可以继续讨论了
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=301420
 
耐心地等待:(
 
仍然没有人回答:(
 
hubdog说你去msdn去search createtextrange method吧
 
Sorry,C++的例子看不懂。
 
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;
 
CathyEagle大虾:
我试了一下,怎么我的WebBrowser1没有SelectAll方法?
 
sorry,selectall只是简写,具体如下:
WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT,
EmptyParam,EmptyParam);
 
后退
顶部