提问
为ie工具栏添加命令按钮
按下按钮后执行相应的动作:可以是COM对象,浏览条,脚本,可执行文件请问:
利用com对象怎么响应按钮按下消息
(我已经把com做好了!但是不知道在什么地方写处理函数.)
已经研究了很长时间,苦于没有成功!
很希望知道的同志指点一下!!

解决方案 »

  1.   

    IE的命令按钮是你加上去的,在它的响应函数中获得按钮消息,然后再调用com接口等来访问...
      

  2.   

    通过COM对象添加工具条按钮必须实现IOleCommandTarget接口,浏览器对象会在点击按钮时调用 IOleCommandTarget->Exec()方法
      

  3.   

    to oyljerry
    怎么写命令响应函数?再怎么调用com?
      

  4.   

    to firmbirdIOleCommandTarget->Exec()方法在什么地方写?
    SetSite(IUnknown *pUnkSite)中怎么写?
      

  5.   

    怎么写命令响应函数?再怎么调用com?
      

  6.   

    你的组件对象类继承IOleCommandTarget接口,并且实现IOleCommandTarget的两个方法Exec,QueryStatus,
    这两个方法是由浏览器来调用的,你只要在Exec方法中添加你的响应代码就可以了
      

  7.   

    谢谢指点! 功能实现了!!实现代码:(在各自需要位置添加代码!如下)先
    public IOleCommandTarget,再
    COM_INTERFACE_ENTRY(IOleCommandTarget)接着
    STDMETHOD(QueryStatus)(const GUID*, ULONG, OLECMD[], OLECMDTEXT*); 
    STDMETHOD(Exec)(const GUID*, DWORD, DWORD, VARIANTARG*,VARIANTARG*);最后
    STDMETHODIMP C******::QueryStatus(const GUID*, ULONG, OLECMD[], OLECMDTEXT*) 
    {
    return S_OK;
    }
    STDMETHODIMP C******::Exec(const GUID*, DWORD, DWORD, VARIANTARG*, VARIANTARG*)
    {
    MessageBox(NULL, _T("Exec"), _T(""), MB_OK);//点击实现内容
    return S_OK;
    }