Y
yesye
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TfrmMain.ProgressChange(Sender:TObject;Progress,ProgressMax:Integer);
var
i:integer; //记载下载页面的百分比
begin
//下载的进度发生变化,对其进行相应的处理
if((((Sender as TEmbeddedWB).GetParentComponent as TTabSheet)=
pgcExplorer.ActivePage)) then //当前激活的TabSheet才给予显示进程
begin
i:=0;
if(ProgressMax<>0) then
begin
i:=Trunc(Progress/ProgressMax*100);
if(i>100) then
i:=100;
if(i<>0) then
stbExplorer.Panels[1].Text:=IntToStr(i)+'%'
else
stbexplorer.Panels[1].Text:='';
end;
end;
end;
上面的代码段为处理当前页进度条变化的问题stbExplorer为StatusBar,pgcExplorer为
PageControl
问题是这样的:
PageControl中几个TabSheet(动态生成),TabSheet中有TEmbeddedWB(或TWebBrowser)
现在如果我PageControl不发生OnChange事件,倒是OnProgressChange可以正确处理
但是当我Change(改变ActivePage)的时候,原本我希望一同通知TabSheet中的TEmbbeddedWB
当前stbExplorer的显示应该为当前的页了,但不知道为什么它就是不听话,偏要显示前面页面
的OnProgressChange
不知道谁有办法解决?????
var
i:integer; //记载下载页面的百分比
begin
//下载的进度发生变化,对其进行相应的处理
if((((Sender as TEmbeddedWB).GetParentComponent as TTabSheet)=
pgcExplorer.ActivePage)) then //当前激活的TabSheet才给予显示进程
begin
i:=0;
if(ProgressMax<>0) then
begin
i:=Trunc(Progress/ProgressMax*100);
if(i>100) then
i:=100;
if(i<>0) then
stbExplorer.Panels[1].Text:=IntToStr(i)+'%'
else
stbexplorer.Panels[1].Text:='';
end;
end;
end;
上面的代码段为处理当前页进度条变化的问题stbExplorer为StatusBar,pgcExplorer为
PageControl
问题是这样的:
PageControl中几个TabSheet(动态生成),TabSheet中有TEmbeddedWB(或TWebBrowser)
现在如果我PageControl不发生OnChange事件,倒是OnProgressChange可以正确处理
但是当我Change(改变ActivePage)的时候,原本我希望一同通知TabSheet中的TEmbbeddedWB
当前stbExplorer的显示应该为当前的页了,但不知道为什么它就是不听话,偏要显示前面页面
的OnProgressChange
不知道谁有办法解决?????