如何控制webbrwoser的后退操作不报错。(10)

青云

Unregistered / Unconfirmed
GUEST, unregistred user!
webbrwoser.GoBack 可以用来做回退,但是如果回退到第一页后再回退就会报错;所以人性化的做法是:当回退到第一页时候,自动让那个回退“按钮”灰掉;可以用 webBrowser1.CanGoBack 作为判断;但是不知道在什么事件里控制方便;我找了一个c#的例子,不过delphi里webbrowser的事件WebBrowser1_CanGoBackChanged好像没那个。http://blog.csdn.net/freeliver54/archive/2008/12/30/4610841.aspx==http://bbs.2ccc.com/topic.asp?topicid=341636
 
//OnCommandStateChange 事件Procedure TFrmMain.CommandStateChangeEvent(Sender: TObject; Command: Integer; Enable: WordBool);Begin Case Command Of CSC_NAVIGATEBACK: ((Sender As TIEWEB).Owner As TTabSheetEx).CanBack := Enable; CSC_NAVIGATEFORWARD: ((Sender As TIEWEB).Owner As TTabSheetEx).CanForward := Enable; End;End;
 
楼上的朋友方法很好;不过 webBrowser1.CanGoBack 这个方法没有;您的 ((Sender As TIEWEB).Owner As TTabSheetEx).CanForward 好像是你自己做的方法。我希望能够写成:procedure Tfrom1.WebBrowser1CommandStateChange(ASender: TObject; Command: Integer; Enable: WordBool);beginCase Command Of CSC_NAVIGATEBACK: BtnBack.Enabled:=WebBrowser1.canBack; ..... End;end;
 
procedure TFmInfo.WBWebSiteCommandStateChange(Sender: TObject; Command: Integer; Enable: WordBool);begin case Command of CSC_NAVIGATEFORWARD : btnForward.Enabled := Enable; CSC_NAVIGATEBACK : btnBack.Enabled := Enable; end;end;http://blog.csdn.net/happycyp/archive/2007/03/28/1543748.aspx
 
我只是给个方法你参考,又不是让你照搬
 
呵呵,开始没注意Enable这个属性的来源,以为是其他地方的,仔细一看是过程的自身参数。现在搞定了。实际上,我是想在我做的一个开心网辅助工具上做这个控制:http://daizhicun.blog.sohu.com/132154775.html多谢楼上两位朋友的无私奉献。
 

Similar threads

S
回复
0
查看
933
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
603
import
I
I
回复
0
查看
556
import
I
顶部 底部