ActiveX初学疑惑

hzy694358 2010-07-16 05:04:47
建的MFC ActiveX ControlWizard工程
生成的是ocx格式文件
可是怎么看到有人说可以生成dll文件的
这个是怎么回事,
望指导……
...全文
75 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
副组长 2010-07-18
[Quote=引用 5 楼 hzy694358 的回复:]
引用 4 楼 webipstin 的回复:

OCX和DLL不都是PE文件吗,没什么区别吧,应该直接改扩展名就行,ocx应该是自带控件注册的导出函数,dll应该是不带,其他应该都一样,没弄过,猜测。

不是直接改名吧……
[/Quote]
直接改不行的,除了DLL、OCX,还有EXE的控件呢。
回复
Kang哥 2010-07-18
新建工程的时候选择 ATL COM AppWizard
第二步选择Server Type的时候用默认的选项Dynamic Link Library(DLL)
这样生成的是COM工程
比如你的工程名字是"ocx",在ClassView中,鼠标右键单击ocx classes,选择New ATL Object
在弹出的ATL Object Wizard对话框左边Category中选择Controls,右边你需要生成的控件的类型
比如你选择Full Control,然后Next>
在弹出的属性对话框中填入你需要的内容,比如在Names选项中Short Name写入ocx1,
如果需要建立连接点,还需要你在Attributes选项中选中Support Connection Points选项。
其他的自己看吧,最后确定。
ClassView中会出现Cocx1类,就是你要生成的控件的类,默认只有Cocx1()以及OnDraw(ATL_DRAWINFO &di)两个函数。
如上编写的工程编译后生成ocx.dll文件

生成一个基于对话框的工程,在Insert ActiveX Control对话框(别告诉我你不知道怎么弹出这个)中的控件列表中,会找到ocx1 Class, ok;
对话框中会看到你刚生成的控件,控件界面为黑边白色背景正方形,中间显示"ATL 3.0:ocx1"

:) 是不是你需要的?

回复
hzy694358 2010-07-17
[Quote=引用 4 楼 webipstin 的回复:]

OCX和DLL不都是PE文件吗,没什么区别吧,应该直接改扩展名就行,ocx应该是自带控件注册的导出函数,dll应该是不带,其他应该都一样,没弄过,猜测。
[/Quote]
不是直接改名吧……
回复
xiaoyilong19 2010-07-17
属性 :链接 输出 .ocx /.dll
回复
webipstin 2010-07-16
OCX和DLL不都是PE文件吗,没什么区别吧,应该直接改扩展名就行,ocx应该是自带控件注册的导出函数,dll应该是不带,其他应该都一样,没弄过,猜测。
回复
hzy694358 2010-07-16
[Quote=引用 1 楼 wltg2001 的回复:]

一样的,有的是OCX,有的是DLL,不影响使用。
[/Quote]
那要生成dll格式的ActiveX文件,工程要如何建呢
回复
adamwyb 2010-07-16
选择win32项目中的动态链接库DLL工程,就可以生成DLL了
回复
wltg2001 2010-07-16
一样的,有的是OCX,有的是DLL,不影响使用。
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告