步骤:
1,建立一个工程(ATL COM AppWizard),通常选择Dynamic Link Library。
2,在工程中加入ATL对象,通常选择Full controls
3,在“属性-方法接口”添加个性化控件属性,并为属性创建相应属性变量,并响应属性变量的输入输出函数。
4,在“事件接口”添加控件响应事件:添加事件方法,然后对这个工程的.idl接口文件编译,为控件建立连接点。 这时就自动出现了一个CProxy_***的类,它提供了启动控件事件的方法。你可通过为控件加上一个Window Message Handler(比如WM_LBUTTONDOWN) 的方法来实验这些方法
5,在“属性-方法接口”添加方法。
6,建立属性页,执行属性的获取,保存操作。
7,完成绘制控件的工作:注意要使用HDC以及GDI API函数来实现。
PS:
1,连接点概念
可连接对象是支持输出接口的对象。输出接口使对象得以与客户端进行通信。对于每个输出接口,可连接对象都公开一个连接点。每个输出接口由客户端在一个称为接收器的对象上实现。
每个连接点都支持 IConnectionPoint 接口。可连接对象通过 IConnectionPointContainer 接口向客户端公开它的连接点。
2,事件、属性、方法的理解
事件,这里相当于消息接口,是传给控件外面的接口,让使用控件的人来编写处理这些事件。
属性,是控件的变量。
方法,这里是从件内部的函数,控件自己处理,控制控件自己的行为。