如何在ATL中创建MFC对话框

lilyway 2007-01-24 09:48:07
我在VC6中创建的ATL(支持MFC),然后建立了一个对话框类,在导出的STDMOTHED接口中调用,但在测试程序中我调用这个接口却总是弹不出对话框,对象创建失败.请问该怎么创建MFC对话框啊?
...全文
395 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
happyxiaolei 2010-08-17
  • 打赏
  • 举报
回复
确实,在ATL中,就用ATL的对话框就行了,之前我也打算用MFC的对话框来着,但是如果事先没有ATL让支持MFC的话,改起来太麻烦了
  • 打赏
  • 举报
回复
MFC的OCX可以嵌入atl的对话框中吗?
可以,但ocx必须实现相关的OLE接口
yyhappy 2007-01-24
  • 打赏
  • 举报
回复
如果可以选择的话,你可以用MFC写一个COM来实现你的功能,这样调用MFC的OCX就非常方便了
lilyway 2007-01-24
  • 打赏
  • 举报
回复
MFC的OCX可以嵌入atl的对话框中吗?
  • 打赏
  • 举报
回复
难道需要CWinApp?没这样干过
为啥不用atl的对话框啊 CDialogImpl
ponder781017 2007-01-24
  • 打赏
  • 举报
回复
老大,你说的是使用对话框问题,这个问题别人也问过了,先在菜单上 “插入”--》新建ATL对象 ,然后是miscellanous选项下面就有一个添加对话框功能,插入了以后你就有个对话框的类了,然后就可以使用他了,别忘了给小弟一点分呀
yjgx007 2007-01-24
  • 打赏
  • 举报
回复
应该没有问题的,记得在每个接口函数开始加上:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));

文名: 深入解析ATL(第2版) 原名: ATL Internals, 2nd Edition Working with ATL 8 别名: ATL 作者: (美)塔瓦瑞斯译者: 赖仪灵 曹雨田 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社书号: 9787121049859发行时间: 2007年11月01日 地区: 大陆 语言: 简体文 简介: 编辑推荐 ATL的发明人Jim Springfield亲自作序推荐。   四位顶尖的Windows编程专家倾力合作,绝对经典再现。   COM、ATL开发人员的必备宝典。   深入分析ATL实现COM内幕细节,展示COM应用的各类漂亮技巧。   ATL的经典指南现已更新到ATL 8和VisuaI Studio 2005:   四位顶尖的Windows编程专家在本书系统地揭示了ATL的内部工作原理,他们解释了ATL是 如何工作的,以及为什么要以这样的方式工作。通过本书,客户端开发人员可以掌握ATL的窗口、COM控件、MFC集成、Web服务代理生成等资源。服务端编程人员可以应用ATL的全COM服务器和对象服务、高吞吐量、高并发Web应用程序和服务的广泛支持。每个Windows开发人员都将从本书学到强大的方法来增加应用程序的灵活性、减少负载、最大化程序的透明度和可控性。   ·通过图表、示例代码和ATL的内部实现代码来揭密ATL的内部原理。   ·遍历向导以简化在普通应用程序ATL开发。   ·掌握C++、COM和ATL的字符串使用技巧。   ·利用ATL的智能类型:CComPtr、CComQIPtr、CComBSTR和CComVariant。   ·理解并正确实现IUnknown。   ·创建能从COM服务器暴露COM对象的粘合代码。   ·使用Canned Interface实现来支持对象的永久性、COM集合、枚举器和连接点。   ·使用ATL窗口类和控件建立独立的应用程序和UI组件。   ·使用ATL Servet开发可以运行在微软IIS上的Web应用程序。 虽然.NET系统从1998年才开始其发展进程。但它已经使很多开发人员的编程发生了革命性的变化,并在未来几年将持续得到改进。但是,COM编程(和 ATL)也依然非常有活力,对Microsoft内外的很多开发人员都非常重要。本书的第2版,与第1版一样,提供了您所需要的信息,使我们在这些技术上的投资也将获得最大的回报。                        ——Jim Springfield,ATL发明人 虽然ATL比较精深,但是这本书的讲解非常通俗易懂,语言比较简练,条理非常清楚。即使在读完这本书之后,它仍然可以作为参考书指导我们的开发和学习工作。我想,这就是好书的价值所在吧。            ——潘爱民,经典畅销书《深入解析Windows操作系统,第4版》译者 内容简介 本书主要介绍了ATL技术的原理、内部实现和应用技巧,由当今4 位顶尖的 Windows技术专家联合撰写。全书内容丰富,深入浅出,主要涵盖了ATL内部架构和实现方法、运用向导简化ATL开发、C++/COM/ATL字符串的使用技巧、理解并正确实现IUnknown、充分利用ATL提供的Smart Types、撰写能够暴露COM服务器上COM对象的粘合代码、利用Canned Interface实现来支持对象持久化/COM群集/枚举、利用ATL Windows类建构独立的应用程序和UI组件等的技术内容。本书适合于广大Windows开发人员阅读参考,是ATL开发人员的必备权威参考书籍。 作者简介 Christopher Tavares,目前在微软工作,是模式与实践方面的专家。有着超过25年的编程经验,涉及的平台从Sinclair ZX-81到多CPU信号处理硬件。 目录: 第2版序 第1版序 前言 致谢 关于作者 联系博文视点 第1章 你好,ATL 1.1 什么是ATL 1.2 创建COM服务器 1.3 插入COM类 1.4 添加属性和方法 1.5 实现附加接口 1.6 脚本支持 1.7 添加永久性 1.8 添加和激发事件 1.9 使用窗口 1.10 COM控件 1.11 容纳控件 1.12 ATL Server Web项目 1.13 总结 第2章 字符串和文本 2.1 字符串数据类型、转换类和辅助函数 2.2 智能BSTR类CComBSTR 2.3 CComBSTR类 2.4 CString类 2.5 总结 第3章 ATL智能类型 3.1 智能VARIANT类CComVariant 3.2 智能SAFEARRAY类CComSafeArray 3.3 智能指针类CComPtr和CComQIPtr 3.4 智能指针类CAutoPtr和CAutoVectorPtr 3.5 ATL内存管理器 3.6 总结 第4章 ATL的对象 4.1 实现IUnknown 4.2 ATL的层次 4.3 线程模型支持 4.4 IUnknow核心 4.5 我们的类 4.6 CComObject以及其他 4.7 ATL创建者 4.8 调试 4.9 总结 第5章 COM服务器 5.1 回顾COM服务器 5.2 对象映射表和CAtlModule类 5.3 对象映射表 5.4 对象映射类要求的方法 5.5 CAtlModule类 5.6 重游CComCoClass 5.7 ATL与C运行时库 5.8 总结 第6章 接口映射表 6.1 回顾:COM的实体身份 6.2 表驱动的QueryInterface 6.3 多重继承 6.4 Tear-off接口 6.5 聚合:外部控制对象 6.6 接口映射表链 6.7 尽管说“不” 6.8 调试 6.9 扩展性 6.10 总结 第7章 ATL的永久性 7.1 回顾COM的永久性 7.2 ATL的永久性实现类 7.3 属性映射表 7.4 永久性实现 7.5 其他永久性实现 7.6 使用永久性添加“按值列集”的语义 7.7 总结 第8章 集合和枚举器 8.1 COM集合和枚举接口 8.2 枚举数组 8.3 枚举标准的C++集合 8.4 集合 8.5 ATL数据类型的标准C++集合 8.6 ATL集合 8.7 对象模型 8.8 总结 第9章 连接点 9.1 回顾连接点 9.2 创建基于ATL的可连接对象 9.3 创建一个接收事件的对象 9.4 它是怎么工作的:杂乱的实现细节 9.5 总结 第10章 窗口 10.1 Windows应用程序的结构 10.2 CWindow 10.3 CWindowImpl 10.4 CDialogImpl 10.5 Windows控件包装类 10.6 CContainedWindow 10.7 总结 第11章 ActiveX控件 11.1 回顾ActiveX控件 11.2 BullsEye控件需求 11.3 使用ATL向导创建初始的控件 11.4 初始的BullsEye源文件 11.5 逐步开发BullsEye控件 11.6 总结 第12章 控件包容 12.1 控件是如何被包容的 12.2 基本的控件包容 12.3 在对话框容纳控件 12.4 复合控件 12.5 HTML控件 12.6 ATL控件包容的限制 12.7 总结 第13章 你好,ATL Server:一个新型的C++ Web平台 13.1 微软Web平台(因特网信息服务) 13.2 可能是可以运行的最简单ISAPI扩展 13.3 封装ISAPI 13.4 ATL Server 13.5 ATL Server的Web服务 13.6 总结 第14章 ATL Server内幕 14.1 ATL Server的ISAPI实现 14.2 服务器响应文件 14.3 请求处理程序示例 14.4 输入处理 14.5 会话管理 14.6 数据缓存 14.7 总结 附录A 实例展示C++模板 A.1 模板的必要性 A.2 模板基础 A.3 不同类型的多态 A.4 函数模板 A.5 成员函数模板 A.6 总结 附录B ATL头文件 附录C 移植到ATL 8 C.1 字符串、字符集和转换 C.2 与MFC共享的类 C.3 实现COM服务器 C.4 ActiveX控件和控件容纳 C.5 ATL_MIN_CRT变化 C.6 总结 附录D 属性化ATL D.1 ATL Attributes的基础 D.2 属性化ATL的未来 D.3 总结 索引
第1篇 编程基础 第1章 开发环境 1.1 工程创建 实例001如何创建基于对话框MFC工程 实例002如何创建基于文档视图的MFC工程, 实例003打开已存在的工程 实例004怎样查找工程的信息 实例005怎样在添加对话框资源时创建对话框类 实例006在工作区管理多个工程 实例007创建MFCActiveX工程 实例008创建ATL工程 实例009创建控制台应用程序 1.2 开发环境设置与使用 实例010怎样定制自己的工具栏 实例011在VC项目使用自定义资源 实例012向VisualC++开发环境添加插件 实例013添加消息处理函数 实例014设置开发环境文本颜色 实例015设置批量注释 实例016如何对齐零乱的代码 实例017判断代码的括号是否匹配 实例018修改可执行文件的资源 1.3 程序调试 实例019创建调试程序 实例020在Release版本进行调试 实例021在vc如何进行远程调试 实例022利用简单断点进行程序调试 实例023利月条件断点进行程序调试 实例024利用数据断点进行程序调试 实例025利用消息断点进行程序调试 实例026利用Watch调试窗口查看对象信息 实例027利用CallStack窗口查看函数调用信息 实例028利用Memory窗口查看内存信息 实例029利用Variables窗口查看变量信息 实例030利用Registers窗口查看CPU寄存器信息 实例031利用Disassembly窗口查看汇编信息 第2章 语言基础 2.1 基本语法 实例032输出问候语 实例033输出带边框的问候语 实例034不同类型数据的输出 实例035输出字符表情, 实例036获取用户输入的用户名 2.2 运算符的妙用 实例037简单的字符加密 实例038实现两个变量的互换 实例039判断性别 实例040用宏定义实现值互换 实例041简单的位运算 实例042整数加减法练习 2.3 条件语句 实例043李白喝酒问题 实例044桃园三结义 实例045何年是闰年 实例046小球称重 实例047购物街的商品价格竞猜 实例048促销商品的折扣计算 实例049利用switch语句输出倒三角形 2.4 循环语句 实例050PK少年高斯 实例051灯塔数量 实例052上帝创世的秘密 实例053小球下落 实例054再现乘法口诀表 实例055判断名次 2.5 循环的数学应用 实例056序列求和 实例057简单的级数运算 实例058求一个正整数的所有因子 实例059一元钱兑换方案 2.6 趣味计算 实例060加油站加油 实例061买苹果问题 实例062猴子吃桃 实例063老师分糖果 实例064新同学的年龄 实例065百钱买百鸡问题 实例066彩球问题 实例067集邮册的邮票数量 2.7 多重循环打印图形 实例068用打印三角形 实例069用叶印图形 实例070绘制余弦曲线 实例071打印杨辉三角 2.8 算法 实例072计算某日是该年第几天 实例073斐波那契数列 实例074角谷猜想 实例075哥德巴赫猜想 实例076四方定理 实例077尼科彻斯定理 实例078魔术师的秘密

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧