• 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 > 急:为什么OCX里的事件没有被触发?

急:为什么OCX里的事件没有被触发?

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

佚名通过本文主要向大家介绍了ocx事件,ocx添加事件,mscomctl.ocx,comdlg32.ocx,ocx控件安装等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 急:为什么OCX里的事件没有被触发?
描述:

我调用了一个DELPHI编写的OCX控件。该控件在DELPHI下调用一切正常。
现在需要在VC环境下调用此控件,此OCX内实现了一个回调事件,在监听的端口收到消息时触发。我已经在ClassWiazrd内添加了这个事件的消息和其中的要处理的代码,但是在同等条件下(跟DELPHI相比较),此事件在VC下却没有触发?请问会是什么原因呢?
BEGIN_EVENTSINK_MAP(CTTDlg, CDialog)
    //{{AFX_EVENTSINK_MAP(CTTDlg)
ON_EVENT(CTTDlg, IDC_SMSCLIENTX1, 209 /* OnReceiveInfo */, OnOnReceiveInfoSmsclientx1, VTS_PBSTR VTS_PBSTR VTS_PBSTR VTS_PBSTR VTS_PBSTR VTS_PBSTR VTS_PBSTR)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CTTDlg::OnOnReceiveInfoSmsclientx1(BSTR FAR* sTxCode, BSTR FAR* sMobileNum, BSTR FAR* sMsg, BSTR FAR* sMsgId, BSTR FAR* sInfoId, BSTR FAR* sInfoContent, BSTR FAR* sLinkID) 
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_STATIC)->SetWindowText("收到消息喽");
}


解决方案1:

在GetDlgItem(IDC_STATIC)->SetWindowText("收到消息喽");
这里设置一个断点看看
如果没断下来的话去看http://support.microsoft.com/kb/q157437/

解决方案2:

最好用别的方式来确定有没有收到消息比较好,比较设置断点等
用IDC_STATIC获得的窗口未必正确,因为Picture,GroupBox等等,ID都可以是IDC_STATIC,一般是获得tab顺序最前面的那个窗口的临时CWnd*指针的。你也可以将ID设置为其它表示如IDC_STATIC1等等

解决方案3:

ON_EVENT这些就是了
你的控件是不是用了多线程?MFC不支持跨线程触发事件


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

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

  • ocx主动传递参数事件
  • 怎么在OCX的事件里面传递内存(指针)
  • 网页ocx事件
  • ocx的事件网页捕捉
  • 用一个类调用ocx类里面的事件该怎么调用?
  • 如何在OCX里面定义事件并提供给javascript响应
  • typelibocx得到的ocx事件接口如何调用?
  • OCX中调用OCX中的方法和事件如何能成功再追加100分在线等
  • 怎么将Ocx中的事件在exe程序里面添加
  • 网页接收ocx事件返回的字符串丢失一位

相关文章

  • 2017-06-04 郁闷啊,我写了那个画椭圆的控件静态编译
  • 2017-06-05 关于c++读取oracle数据库的问题?
  • 2017-06-05 MFC错误libcmtlibcrt0obj:errorLNK2001:unresolvedexternalsymbol_main
  • 2017-06-05 怎么挂接API涵数?在线
  • 2017-06-05 请问如下的二进程互斥方案何时出现同时进入临界区,多谢!
  • 2017-06-05 谁能给个VC写的dll例子?
  • 2017-06-04 ConvertStringToBSTR与逆函数多次使用丢失数据??
  • 2017-06-05 请问线程存储器TLS到底有什么用处
  • 2017-06-04 请大虾来指教啦!!!难题:数据库中OLE对象存取问题
  • 2017-06-04 在ATL中如何创建OLE容器?很难的问题,回复请慎重

文章分类

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

最近更新的内容

    • 如何在WebBrowser上嵌入word,pdf?
    • vs2010到底怎么配置directx,实在没分了见谅,大大们来看看吧
    • ActiveX控件怎么把二进制数据传给C#
    • 如果AppWizard,没有自动生成odl文件,是不是要自己手写阿?看上去好麻烦阿,有没有工具可用?
    • 会IE插件编程的朋友请帮我解决一下问题
    • 请问win32console和win32application程序有什么区别
    • 用什么编写ocx啊?谢谢!
    • 在没用装vc的机子上使用vc写的ocx
    • 100分找学习atl好书,电子版下载也行(最好是实用版的)
    • 释放DLL的一个错误

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

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