• 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 > 在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件?

在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件?

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

佚名通过本文主要向大家介绍了 在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件?
描述:

在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件?
#ifndef _FZPRINTATLCP_H_
#define _FZPRINTATLCP_H_
template <class T>
class CProxy_IFzPrintYEvents : public IConnectionPointImpl<T, &DIID__IFzPrintYEvents, CComDynamicUnkArray>
{
//Warning this class may be recreated by the wizard.
public:
HRESULT Fire_ErrorInfo(SHORT iErrorNum, BSTR bstrErrorInfo)
{
...........
}
};
#endif
如果是在一个控件类中是可以直接调用Fire_Capture的。
但是如果是在一个我自己写的类当中呢?比如CMyClass中,当这个类对象
执行到某种情况下,我想激发这种事件,在CMyClass中怎么调用Fire_Capture呢?


解决方案1:

有好几种方法,我认为最简单的是你把控件的指针传到你自己的类中,在你的控件中再加一个接口,在接口中调用你的事件,而在你自己的类中当需要时调那个新加的接口。我就是经常这样做的,不过我的是没有界面的COM对象,而你的是控件。

解决方案2:

这个简单呀!在你的控件的接口中添加一个方法eg:
id[1] HRESULT OnCapture();
在实现中添加一句代码就可以了eg:
Fire_Capture();
在你的类中import 你控件的tlb eg:
#import "yours_tlb.tlb"
然后在你要激发的时候创建一个控件的接口对象通过这个对象调用这个OnCapture();
就可以了!


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

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

  • 在一个ATL工程中,加入一个控件和一个普通类,在类的方法中如何引发控件的事件?

相关文章

  • 2017-06-04 在ATL的windowsService程序中,如何使用winsock的WSAAsyncSelect,如果捕捉FD_ACCEPT等事件?
  • 2017-06-04 哪位大侠能给我一个返回safearray的例子片断?
  • 2017-06-04 《深入解析atl》电子版已上传,快去下载(一周后会更换)!!http://wangweixing2000wegamecom/深入解析ATL_潘爱民pdfjpg
  • 2017-06-05 在线等待,高手请进。什么叫代码重入啊?谁能给出相关的资料,在windows核心编程里面有吗?
  • 2017-06-05 一个有趣的线程问题
  • 2017-06-05 急问:如何通过WIN32API取得当前登录用户的组???
  • 2017-06-05 非常困惑的问题:vc++2005在win2k编译的程序的程序不能在win2003和xp上执行?
  • 2017-06-04 [急救]控件作用范围,希望好心人帮忙
  • 2017-06-04 问个COM的问题
  • 2017-06-04 崩溃了再不抢救快死人了

文章分类

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

最近更新的内容

    • vc++实现office自动化编程,环境搭建问题
    • 请问线程建立的问题!!
    • 发何判断一个程序处于"未响应"
    • 怎样改变一个基于ActiveX的工程的名称
    • 为什么工作者线程一定要UINT返回
    • 怎么让COM返回一个数据集
    • Automation组件DLL是如何管理MFC模块状态的?
    • ATL控件win7下首次初始化失败
    • 请问:在DLL中如何使用定时器色SetTimer?谢谢
    • 我用ATL作了个对话框但

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

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