twebbrowser 里浏览的是框架结构,如何让焦点对到一个特定的框架

Kimhao 2003-10-12 01:30:06
我试验了好长时间,就是不知道怎么让焦点罗到一个特定的框架上,我的项目是取得特定的网页的数据,需要看到它的源代码,困绕了好长时间。因为里边有好多的框架,很头疼。谁能帮助解决,最好有源代码,不胜感激,有酬谢,给加分
...全文
9 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kimhao 2003-10-14
procedure TForm1.Button1Click(Sender: TObject);
var
doc:IHTMLDocument2;
begin
doc := WebBrowser1.Document as IHTMLDocument2;
memo1.text:=doc.body.innerHTML ;
NavigateFrameset(doc) ;
end;

procedure TForm1.NavigateFrameset(document: IHTMLDocument2);
var
index: Integer;
ole_index: OleVariant;
frame_dispatch: IDispatch;
framed: IHTMLWindow2;
begin
if document = nil then
exit;
try
Application.MessageBox(
PChar('Content:' + String(document.body.innerHTML)),
PChar('URL: ' + String(document.URL)),MB_OK or
MB_ICONINFORMATION);
for index := 1 to document.Frames.Length do
try
ole_index := index-1;
frame_dispatch := document.Frames.Item(ole_index);
if frame_dispatch <> nil then
begin
framed := frame_dispatch as IHTMLWindow2;
NavigateFrameset(framed.document);
end;
except
on E: Exception do
begin
end
end;
except
on E: Exception do
begin
Application.MessageBox(PChar(E.Message),
PChar('Exception'));
end;
end;
end;
import the "Microsoft HTML Object Library" (MSHTML.TLB) and include MSHTML_TLB in the unit's uses clause
这个问题困扰我很长时间,今天彻底解决了,希望和大家共享,绝对通过了,别怕麻烦,你拷贝过去,试验一下
可以显示所有frame
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1566

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告