社区
ATL
帖子详情
ATL com组件的OnCreate不会被调用
my_aa
2012-07-27 11:35:18
ATL写的符合组件中用IE调用组件可以执行OnCreate,但是直接用MFC代码插入COM时,不会调用com组件OnCreate,这是什么原因啊,构造函数里是m_bWindowOnly = TRUE;
...全文
212
6
打赏
收藏
ATL com组件的OnCreate不会被调用
ATL写的符合组件中用IE调用组件可以执行OnCreate,但是直接用MFC代码插入COM时,不会调用com组件OnCreate,这是什么原因啊,构造函数里是m_bWindowOnly = TRUE;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
做的弹出窗口,可打开网页,可在网页中使用
ATL
(Active Template Library)是Microsoft提供的一种C++库,用于简化
COM
(
Com
ponent Object Model)
组件
的开发。在本文中,我们将深入探讨如何利用
ATL
创建一个弹出窗口,该窗口能够内嵌浏览器控件,并在网页环境中...
使用VC++
ATL
实现Office的
COM
插件
ATL
是微软为C++开发者设计的一个小型、高效的库,它简化了
COM
组件
的创建过程。使用
ATL
,我们可以轻松地创建轻量级、高性能的
COM
对象,而无需过多关注底层的
COM
细节。 在创建Office
COM
插件时,我们需要遵循以下步骤...
用
ATL
编写Window
ATL
(Active Template Library)是Microsoft为Visual C++开发的一个库,主要用于简化
COM
(
Com
ponent Object Model)
组件
的创建。在Windows编程中,
ATL
提供了一种轻量级且高效的手段来构建窗口对象,与传统的MFC...
CWindowImpl
ATL
对象向导
ATL
(Active Template Library)是Microsoft为开发
COM
(
Com
ponent Object Model)
组件
而设计的一个C++模板库。在Windows编程中,CWindowImpl是
ATL
提供的一种窗口类,它简化了在C++中创建和管理窗口的过程。...
如何将OpenGL支持添加到
ATL
控件
在Windows开发环境中,
ATL
(Active Template Library)是Microsoft提供的一种轻量级、高效的
COM
(
Com
ponent Object Model)编程工具,常用于创建
COM
组件
和ActiveX控件。OpenGL是一种跨平台的图形库,广泛用于实现高...
ATL
3,248
社区成员
48,529
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章