社区
ATL
帖子详情
ATL com组件的OnCreate不会被调用
my_aa
2012-07-27 11:35:18
ATL写的符合组件中用IE调用组件可以执行OnCreate,但是直接用MFC代码插入COM时,不会调用com组件OnCreate,这是什么原因啊,构造函数里是m_bWindowOnly = TRUE;
...全文
262
6
打赏
收藏
ATL com组件的OnCreate不会被调用
ATL写的符合组件中用IE调用组件可以执行OnCreate,但是直接用MFC代码插入COM时,不会调用com组件OnCreate,这是什么原因啊,构造函数里是m_bWindowOnly = TRUE;
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ljh_0728
2012-08-01
打赏
举报
回复
打个断点。 不停的删除删除, 做成最精简的 看看还执行不!~
或者, 重新做一个, 然后把你的代码 一个一个的加上去, 看看是哪里出的问题。
这是我的代码 OnCreate 是没有出问题,可以执行的。
int CMySocketVideoVCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
//
m_BtnDisConn.Create(_T("DisConn"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(0, 50, 0, 50),this,IDC_DISS_CONN);
m_BtnDisConn.EnableWindow(TRUE);
m_BtnConnSV.Create(_T("Connect"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,CRect(0, 50, 0, 50),this,IDC_CONN_SERVER);
m_BtnConnSV.EnableWindow(TRUE);
//mVideoWindow.Create(_T(""), WS_CHILD|WS_VISIBLE|SS_BLACKRECT|SS_SUNKEN, CRect(10,10,150,50), this, IDC_VIDEO_WINDOW);
mVideoWindow.Create(_T("STATIC"), _T("Hi"), WS_CHILD|WS_VISIBLE|SS_BLACKRECT|SS_SUNKEN, CRect(10,10,150,50), this, IDC_VIDEO_WINDOW);
mVideoWindow.EnableWindow(TRUE);
m_CurrState = 1;
xiaoliuzi66
2012-07-31
打赏
举报
回复
呵呵,重新用MFC做一个dialog,把你的控件直接拖进去.
my_aa
2012-07-31
打赏
举报
回复
发现this->m_hWnd为NULL(我那构造函数中有m_bWindowOnly = TRUE)[Quote=引用 3 楼 的回复:]
1.看下FinalConstruct执行了没有;2.如果ie可以执行OnCreate。那就在ie的环境下载OnCreate打一个断点,看下堆栈。研究下OnCreate怎么执行的。3.回到MFC的环境,看下IE执行顺序哪一步没有被执行。总归一句话,执行执行再执行。一定是自己制作这个控件的时候有问题。
[/Quote]
xiaoliuzi66
2012-07-30
打赏
举报
回复
1.看下FinalConstruct执行了没有;2.如果ie可以执行OnCreate。那就在ie的环境下载OnCreate打一个断点,看下堆栈。研究下OnCreate怎么执行的。3.回到MFC的环境,看下IE执行顺序哪一步没有被执行。总归一句话,执行执行再执行。一定是自己制作这个控件的时候有问题。
fishion
2012-07-28
打赏
举报
回复
不知道你说的用代码插入是什么意思。ActiveX组件是能执行的,如果你的还不行的话,可以在OnDraw中进行一些初始化工作,记得用个标志位来标志只执行一次
my_aa
2012-07-28
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
不知道你说的用代码插入是什么意思。ActiveX组件是能执行的,如果你的还不行的话,可以在OnDraw中进行一些初始化工作,记得用个标志位来标志只执行一次
[/Quote]
就是写1个MFC调用那控件的Demo,发现那控件的OnCreate没被执行。用IE写HtML去调用那控件测试,OnCreate会被执行。
ATL
建立ActiveX控件(一)
代码下载http://download.csdn.net/source/1458175 在VC中进行控制编程可以用MFC的OCX形式,也可以用
ATL
的活动模板库。MFC所做出来的控件比较大,
ATL
相对小很较多,这时我们如果是在网页上使用,
ATL
的优势就会突显出来。
ATL
编写控件比MFC要难一些,所谓的难就是
ATL
中的编程向导没有MFC中的那么好用。有好多的东东要自己手
ATL
建立ActiveX控件样例(入门级)
代码下载http://download.csdn.net/source/1458175 在VC中进行控制编程可以用MFC的OCX形式,也可以用
ATL
的活动模板库。MFC所做出来的控件比较大,
ATL
相对小很较多,这时我们如果是在网页上使用,
ATL
的优势就会突显出来。
ATL
编写控件比MFC要难一些,所谓的难就是
ATL
中的编程向导没有MFC中的那么好用。有好多的东东要自己
ATL
问题集(精典整理2)
/*文是将网上的一些文章,自已遇到的问题进行整理,有些是翻译,所有只供学习讨论,如有版权还归原作者――作者:王卫星csdnid:wangweixing2000*/#41 我想在程序中连续注册好几个控件,如果用regsvr32 命令会出现多个注册成功的对话框有没有什么方法可以解决那?/u是注销。 /s是不弹出注册成功的对话框 regsvr32 ... /s代码实现如下:HMODULE
用
ATL
开发和部署ActiveX网页控件
用
ATL
开发和部署ActiveX网页控件 摘 要 ActiveX插件技术广泛的运用于B/S系统中,本文通过一个项目实例,详细介绍用
ATL
开发和部署ActiveX网页控件的过程。学习使用ActiveX让浏览器访问客户端的硬件资源。 关键字
ATL
,ActiveX控件,
COM
组件
一、前言 在B/S结构的系统中,出于安全性考虑一般不准许浏览器访问客户端的硬件资源,如控制打印机,照相...
COM
组件
开发实践(转载)
Preface 因为项目需要,开始从事 ActiveX 方面的工作,看了一些资料,可惜都是些
COM
原理方面的,没有切合实际动手的东西,在 CodeProject 上读完 David Marcionek的 文章【1】后,收获良多,但也遇到一些恼人的小问题,因此在其基础上就一些易错点做些小注解。本文版权归 David Marcionek 所有。 简介 本文目的在于让你快速掌
ATL
3,248
社区成员
48,530
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章