当IE的标准按钮(比如GoBack)被点击时页面中的ActiveX控件可以得到通知消息吗?
如果可以,ActiveX中应当怎样写代码得到通知?谢谢

解决方案 »

  1.   

    应该是自己处理吧
    按下按钮后,我们自己写程序通知ACTIVEX
      

  2.   

    解决这个问题首先应该是如果捕捉到IE工具栏的事件,这个可以通过BHO实现;再就是如何通知你页面上的ActiveX...是两个COM之间的通信问题,从这两个方面考虑应当能够解决,只是我没有写过类似的程序,请高手给你详细的资料吧。
      

  3.   

    没问题。这就是客户端脚本和用户交互的问题。客户端脚本捕捉到鼠标事件。就调用activx控件提供的方法当。然此接口要在写控件时预留!
      

  4.   

    1.h中
    specify the DECLARE_DISPATCH_ MAP macro in your header file. 
    2.cpp中
     BEGIN_DISPATCH_MAP(CEventSink, CCmdTarget)
     DISP_FUNCTION_ID(CIE4Events, "CommandStateChange",
                      DISPID_COMMANDSTATECHANGE,
                      OnCommandStateChangeExplorer1,
                      VT_EMPTY,    //你定义的函数返回值类型,和下面一致
                      VS_NONE)    //A space-separated list of one or more VTS_XXX
                                  // constants specifying the function's parameter
                                 // list. These VTS_ XXX constants are defined
                                 // in afxdisp.h. 
     END_DISPATCH_MAP() //......   // For an MFC application the CommandStateChange event could be handled
       // as follows:
       void CXXXXXX::OnCommandStateChangeExplorer1(long Command,
                BOOL Enable)   {
           switch(Command)
           {
           case CSC_NAVIGATEFORWARD:
               //Enable表示"前进"按钮是否还可用
               MessageBox("GoForword is pressed!");
               break;       case CSC_NAVIGATEBACK:
               //.....
               break;       default:
               break;
           }  
     }
      

  5.   

    上面的CEventSink即CXXXXX,你的类名