- 浏览: 984209 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
VC中使用ATL编写控件
作者:邵盛松 2010年10月29日
源码下载地址:http://download.csdn.net/source/2793074
在VC2005中创建控件,可以使用MFC创建控件,也可以使用ATL创建控件
一 ATL项目的创建
在VC2005中新建一个项目,项目类型选择ATL,模板选择ATL项目。项目名称命名为ActiveXDemo。
ATL项目向导的概述中直接下一步
ATL项目的应用程序设置如下
服务器类选选择动态链接库(DLL)
附加选项勾选允许合并代理/存根(stub)代码
二 添加ATL控件
步骤
在解决方案资源管理或类视图中选中项目右键 添加->类
在ATL模板中添加ATL控件
1 简称
简称为ATLCtrl其他各项向导会自动添加
2 选项
控件类型为标准控件,线程模型为单元,接口为双重,聚合为是支持勾选连接点
3 接口
默认就可以
4 外观
添加的控件基于none,其他各项默认
5 常用属性
默认,直接完成
三 调试方法
项目文件夹ATLCtrl.htm可以用来测试控件
调试方法
配置下调试环境
命令参数填写ATLCtrl.htm的路径。
调试时,程序程序自动打开了IE。
如果IE出现了为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件。请单击这里获取选项。
那就允许阻止的内容
结果出现了ATL8.0:ATLCtrl
这个控件的基本结构就完成了。
四 添加窗口
选择项目右键添加->类,添加ATL对话框
在ATL对话框向导的简称中输入ATLWnd
在类视图中选中CATLCtrl
在ATLCtrl中添加一个类型为CATLWnd * m_pWnd 的成员变量
在ATL中VC并没有像MFC那样自动添加头文件,需要手动添加
#include "ATLWnd.h"
然后添加一个WM_CREATE消息
VC自动创建了OnCreate函数,并创建窗口如下
LRESULT CATLCtrl ::OnCreate (UINT /*uMsg*/ , WPARAM /*wParam*/ , LPARAM /*lParam*/ , BOOL & /*bHandled*/ )
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
RECT rc = {0};
this ->GetWindowRect (&rc );
m_pWnd = new CATLWnd ();
if ( !::IsWindow (m_pWnd ->m_hWnd ) )
{
m_pWnd ->Create (this ->m_hWnd , rc );
}
return 0;
}
在资源视图中将ID为IDD_ATLWND的对话框属性设置如下
Style设置为Child
Visible设置为True
在CATLCtrl的构造函数中添加m_bWindowOnly = true ;
代码如下
CATLCtrl ()
: m_pWnd (NULL )
{
m_bWindowOnly = true ;
}
调试之后 ,窗口就显示了出来。
五 ATL 安全接口的实现
在VC2005实现安全接口很容易 ,只要将控件类CATLCtrl继承 IObjectSafetyImpl 就可以。
具体实现
在ATLCtrl .h文件中找到如下代码 将 #ifdef和#endif 注释就完成了
#ifdef _WIN32_WCE // 要在Windows CE 上正确加载该控件,要求IObjectSafety
public IObjectSafetyImpl,
#endif
#ifdef _WIN32_WCE // 要在Windows CE 上正确加载该控件,要求IObjectSafety
COM_INTERFACE_ENTRY_IID(IID_IObjectSafety, IObjectSafety)
#endif
本文在VC2005+ ATL8.0下调试通过
发表评论
-
NotePad++ - 安装和配置C/C++开发插件
2011-11-15 23:00 1763NotePad++ - 安装和配置C/C+ ... -
在Windows环境下MongoDB搭建和简单操作【转】
2011-10-21 12:37 938一,安装mongoDB 1,解 ... -
Mongodb在Windows下安装及配置【转】
2011-10-21 12:35 5521.下载mongodb的windows版本,有32位和64位版 ... -
一篇介绍VC开发OCX的文章[转]
2011-10-20 17:57 1827转自“http://www.cnblogs.com/genga ... -
使你的ActiveX控件执行时不弹出安全性提示 (转载)
2011-10-20 17:56 1165使你的ActiveX控件执行时不弹出安全性提示 2010-0 ... -
VC++ 的MFC 和ATL 及COM 是什么?
2011-10-20 01:12 990一、什么是MFC 微软基础类(Micro ... -
使用ATL编写一个简单的COM服务器【转】
2011-10-20 01:10 863下载例子代码 本文的对象是COM编程 ... -
使用VC++6.0制作ASP服务器控件简介[转]
2011-10-20 01:10 670用ASP写网页的程序 员,一定对VBSript语句“Set ... -
基于CentOS 5.4搭建nginx+php+spawn-fcgi+mysql
2011-09-01 13:49 1515基于CentOS 5.4搭建nginx+php+sp ... -
解决mrtg的Use of uninitialized value in hash element at /usr/bin/indexmaker line 35
2011-09-01 13:41 2304mrtg的安装过程这里就不再阐述,随便搜索一下。使用ind ... -
用MRTG检测Linux网络性能
2011-09-01 10:49 870随着Linux应用的日益广泛,有大量的网络服务器使用Linux ... -
Linux安装配置maven3.0以及搭建nexus私服
2011-08-30 23:45 1625一、软件准备 1、apache-maven-3.0-b ... -
GraphicsMagick介绍及安装
2011-08-30 23:16 1533作者:Cocowool 来源:博客园 发布时 ... -
Makefile
2011-08-30 22:10 868CC = g++ CFLAG = -Wall -g -w ... -
高位字节优先 低位字节优先
2011-08-24 17:30 1162自第一台计算机诞生, ... -
C++方式的文件操作
2011-08-24 16:05 1815本文主要讨论C++标准I/O库,主要内容为控制台输入输出流 ... -
【JAVA实用工具】JNA-通过它调用C++的方法,比JNI方便很多访问网站需要代理,所以把它COPY出来备忘
2011-08-24 00:33 3103How To Get Started Using JN ... -
Jni中C++和Java的参数传递
2011-08-24 00:04 5120如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对 ... -
aaaaa
2011-08-24 00:04 996如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对 ... -
jbytearray转c++byte数组
2011-08-24 00:02 1361jbyte * arrayBody = env->G ...
相关推荐
VC中使用ATL编写控件 vc2005编译通过
visual c++编写ATL ActiveX OCX控件
VC 6.0使用ATL方法编写实现ActiveX控件,编译最终生成Polygon.dll文件,没有窗口可查看。这个源码是来自国外,源代码含注释,代码规整,在ATL方法编写DLL控件方面,还是很有参考价值的。
一个VC++编写视频采集ATL控件ATL 视频采集 DirectShow COM VC
内容索引:VC/C++源码,控件相关,ATL 本实例向读者展示利用ATL编写ActiveX控件的编程方法,本程序编译运行后直接生成DLL文件,因此没有窗体让大家看,希望通过这个小例子让大家掌握VC++使用ATL编写控件的方法。
有关使用ATL的可编写脚本的ActiveX Web控件的文章。
ActiveX控件的应用与工作原理。ActiveX控件的编写,如何为控件安排属性,方法,事件,属性页,持久性存储,控件如何通知容器自身属性的改变。如何注册控件与取消控件注册。在VB和VC中访问ActiveX控件。
2,可以在MFC 、WTL、 ATL等框架中,在GUI、 控制台、动态库等程序中直接使用; 2,基于GDI+,能够显示GDI+所支持的所有类型图片; 3,对于单Frame的图片,用CSkinImage类,对于GIF等动态图片请使用CGifImage类,...
0940 用ATL编写Windows 服务 679 0941 获取Word文档的属性 681 0942 在程序中导入Word文件 683 0943 在程序中显示PDF文件 684 0944 向IE工具条中添加图标 684 19.2 开发ocx控件 684 0945 在程序中注册...
|------ 2.3 利用ATL(ActiveX模板库)创建ActiveX控件 |------ 2.4 调试并使用ActiveX控件 +-- 第三章 调试技术与异常(错误)处理 |------ 3.1 跟踪与中间过程输出 |------ 3.2 变量/对象合法性检查 |------ 3.3 ...
JosunScript 脚本组件是一个采用ATL技术编写的高效稳定的脚本解析器。 能让你的CS模式程序(Vc、VB、Delphi、BC等)轻松解析VbScript,JavaScript脚本语言。 大大增强你的程序逻辑处理的灵活性和程序的交互能力,轻松...
...................\在ATL Browser Helper对象中使用WTL TreeView.doc ...................\在SDI MDI程序的工具条上加入漂亮的标题头.doc ...................\在VC++6.0开发中实现全屏显示.doc ................
其中flash.dll是用Atl编写的一个复合控件.这个控件为一简单的flash播放器(利用了原始的flash控件).pptaddin.dll是一PowerPoint的插件,主要是为了方便的在Powerpoint中插入flash.dll这个复合控件.压缩包内的三个目录...
演示了在树控件中来回拖动文件的操作 MyPlayer 音乐播放器 内含歌词显示实现源码 ActiveXDemo 演示了装载以及卸载atl控件的操作以及注册操作 ado 登录模块的制作 ado,dao,odbc数据库连接vc代码 演示了不同的...
VC专题教程 -- 第一章 Internet相关开发 打包下载 ------ 1.1 如何编写CGI程序 ------ 1.2 一种更亲切的CGI开发系统WinCGI ------ 1.3 利用ISAPI开发CGI程序 ------ 1.4 利用WinInet开发Internet程序 +-- 第二章 ...
皮肤控件研究文档,破解后的库文件,皮肤设计工具使用教程 皮肤控件 skin++ skincrafter SkinFeature IrisSkin 我共享的都是本人实际验证过的精品,有文档,破解后的库文件,皮肤设计工具使用教程, 1 软件界面 每...
5.3 在Vsual C++中使用ActiveX控件——例程VCActiveX 5.3.1 创建ActiveX控件包容器程序 5.3.2 加载ActiveX控件 5.3.3 设计时访问控件的属性 5.3.4 运行时访问控件的属性和方法 5.3.5 处理控件的事件 5.4 在Visual ...
专门为VOD视频点播系统开发。用于控制RealMagic公司的硬解压设备,已测试的型号有EM8300、EM8800,程序使用VC6.0编写,采用了ATL技术,速度快,支持事件回调。已封装成OCX与COM双界面,附VB操作例子源码。