from:http://support.microsoft.com/kb/163282
web 浏览器控件支持需要启用或禁用转发或后退按钮时,将触发一个 CommandStateChange 事件。CommandStateChange 事件发送具有两个参数: 一个指示按钮 (CSC_NAVIGATEFORWARD 或 CSC_NAVIGATEBACK) 和一个布尔型标志,该值指示是否启用或禁用按钮的类型的常数。 CSC_NAVIGATEFORWARD 和 CSC_NAVIGATEBACK Exdisp.h,附带了 Internet 客户端 SDK 中定义。
// For an MFC application the CommandStateChange event could be handled // as follows: #include <exdisp.h> void CBrowserDlg::OnCommandStateChangeExplorer1(long Command, BOOL Enable) { switch(Command) { case CSC_NAVIGATEFORWARD: // m_ctlForward is a CButton type m_ctlForward.EnableWindow(Enable); break; case CSC_NAVIGATEBACK: m_ctlBack.EnableWindow(Enable); break; default: break; } } ' A Visual Basic application can also implement this ' functionality in this manner: Private Sub WebBrowser_CommandStateChange(ByVal Command As Long,ByVal Enable As Boolean) Select Case Command Case CSC_NAVIGATEBACK Back.Enabled = Enable Case CSC_NAVIGATEFORWARD Forward.Enabled = Enable End Select End Sub