• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 关于Activex捕获IE中Refresh按钮的事件

关于Activex捕获IE中Refresh按钮的事件

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了activex控件下载,activex控件,activex控件被阻止,activex,activex控件官方下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于Activex捕获IE中Refresh按钮的事件
描述:

STDMETHODIMP CFormviewCtrl::XCmdTargetObj::Exec( 
const GUID* pguidCmdGroup, DWORD nCmdID, DWORD nCmdExecOpt, 
VARIANTARG* pvarargIn, VARIANTARG* pvarargOut) 
{ 
METHOD_PROLOGUE(CFormviewCtrl, CmdTargetObj) 
/*if (nCmdID ==  OLECMDID_REFRESH) 
{ 
} */
if (nCmdID == OLECMDID_STOP) 
{ 
bIsStart=false;
} 
return S_OK; 
}
不知道为什么,按Refresh按钮,进入不了OLECMDID_REFRESH处的相应代码,请大侠指点


解决方案1:

日期:2001.12.08 三剑侠 重庆 
主题:在ActiveX控件中检测IE中STOP按钮的按下 
内容:
许多ActiveX控件,比如:ActiveMovie, IE工具条中的Stop按钮对于他们来说有特殊的意义。当Stop按钮下按时这些控件可以停止播放背景音乐或动画。这篇文章将告诉你在ActiveX控件中添加IOleCommandTarget接口来捕捉Stop 按钮的动作。 
详细内容 
为了支持IOleCommandTarget接口你必须手工在COleControl派生类的.h 和.cpp文件中添加如下代码。然后,你可以在IOleCommandTarget::Exec()函数中捕获OLECMDID_STOP命令id (IE工具条中Stop 按钮的id)。具体代码如下: 
// COleControl派生类的.h文件: 
class CMyOleControl : public COleControl 
{ 
... 
// Interface Maps 
protected: 
// Add the following to support the IOleCommandTarget interface. 
// NOTE: Nested class name is called CmdTargetObj 
DECLARE_INTERFACE_MAP() 
BEGIN_INTERFACE_PART(CmdTargetObj, IOleCommandTarget) 
STDMETHOD(QueryStatus)(const GUID*, ULONG, OLECMD[], OLECMDTEXT*); 
STDMETHOD(Exec)(const GUID*, DWORD, DWORD, VARIANTARG*, 
VARIANTARG*); 
END_INTERFACE_PART(CmdTargetObj) 
}; 
//COleControl派生类的.cpp文件: 
BEGIN_INTERFACE_MAP(CMyOleControl, COleControl) 
INTERFACE_PART(CMyOleControl, IID_IOleCommandTarget, CmdTargetObj) 
END_INTERFACE_MAP() 
ULONG FAR EXPORT CMyOleControl::XCmdTargetObj::AddRef() 
{ 
METHOD_PROLOGUE(CMyOleControl, CmdTargetObj) 
return pThis->ExternalAddRef(); 
} 
ULONG FAR EXPORT CMyOleControl::XCmdTargetObj::Release() 
{ 
METHOD_PROLOGUE(CMyOleControl, CmdTargetObj) 
return pThis->ExternalRelease(); 
} 
HRESULT FAR EXPORT CMyOleControl::XCmdTargetObj::QueryInterface( 
REFIID iid, void FAR* FAR* ppvObj) 
{ 
METHOD_PROLOGUE(CMyOleControl, CmdTargetObj) 
return (HRESULT)pThis->ExternalQueryInterface(&iid, ppvObj); 
} 
STDMETHODIMP CMyOleControl::XCmdTargetObj::QueryStatus( 
const GUID* pguidCmdGroup, ULONG cCmds, OLECMD rgCmds[], 
OLECMDTEXT* pcmdtext) 
{ 
METHOD_PROLOGUE(CMyOleControl, CmdTargetObj) 
//... add YOUR own code here. 
return S_OK; 
} 
STDMETHODIMP CMyOleControl::XCmdTargetObj::Exec( 
const GUID* pguidCmdGroup, DWORD nCmdID, DWORD nCmdExecOpt, 
VARIANTARG* pvarargIn, VARIANTARG* pvarargOut) 
{ 
METHOD_PROLOGUE(CMyOleControl, CmdTargetObj) 
if (nCmdID == OLECMDID_STOP) 
{ 
// ... STOP button is clicked, add YOUR own code here. 
// We just display a message box. 
::MessageBox(NULL, "STOP","CMyOleControl", MB_OK); 
} 
return S_OK; 
}
 


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 讨论一下activex方面的经典书目!
  • 有没有dataedit控件啊急啊
  • 为什么VC做的控件在VB下面会有问题啊?请高手指点,高分求教啊
  • 紧急求助:关于ActiveX控件的使用问题!!
  • ActiveX控件的属性页
  • 在ActiveX控件中使用多线程后Fire事件的问题
  • 可以在ActiveX控件下的Dialog画曲线图吗
  • activex添加的属性在ie中为何传递不成功
  • 怎么才能获得微软Activex控件的帮助信息呢
  • 如何在单文档中使用ActiveX控件那?

相关文章

  • 2017-06-04 关于制作ActiveX控间的问题
  • 2017-06-04 新手问题,atl里如何动态加载控件
  • 2017-06-05 为何我写的CWinThread类的子类只能执行构造函数?
  • 2017-06-04 ATL组件用GetUserName这个api供asp调用碰到的问题
  • 2017-06-04 如何在窗口程序中创建ActiveX控件?
  • 2017-06-04 Windowsmediaplayer组件怎么实现p2p播放?
  • 2017-06-05 第一次接触Dll,请帮忙
  • 2017-06-04 bho如何获取网页元素的事件和相应属性
  • 2017-06-05 请问VC中有无类似硬件中断的即时消息处理方法?
  • 2017-06-05 为什么我机器上找不到Dbghelph

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 请问一下VC6里关于mfc对话框的多线程问题
    • 请各位大哥推荐几本学习COM的书
    • 都说C++有高手,我想问一下模拟按键的问题,网上的WinIO驱动似乎已经不好用了?
    • 一个史无前例的问题,有兴趣的进来看看吧!
    • 散分,散分。
    • EXCEL无法创建
    • 数据库拷贝,不拷贝数据
    • 我要做一个组件,请大家给点建议!!关于线程
    • 我hook到了IDirectSoundBuffer8,如何把该程序输出的声音保存为wav
    • 请教ATL编写ASP组件过程中遇到的问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有