编写 ATL ActiveX 控件

一直想写一些ATL、ActiveX的东西,但是一直都没有下定决心去写,一来是自己对这方面的东西不太了解,写不出什么名堂;二来就是懒,懒得思考,懒得动手。这篇文章只是记录一下ATL ActiveX控件的一个大概写法跟使用方法,方便有这方面需求的同学快速上手。


一、ATL ActiveX控件编写


我做的是一个简单的图表控件,提供扇形图跟柱状图两种表现方式。

我们先简单列一下图表的成员属性:

1、图表样式:柱状图还是扇形图。

typedef enum _em_chart_type{ctNull,ctHistogram,ctPieChart} ChartType;
ChartType m_chartType;

2、图表中每一个项目的信息:名称、百分比和显示的颜色。

typedef struct _st_item_info{TCHAR		name[64];FLOAT		percent;OLE_COLOR	color;} ItemInfo;
std::list<ItemInfo><span style="white-space:pre">	</span>m_items;

3、图表是否显示:
VARIANT_BOOL m_bShow;

好了,只是一个简单的例子,就这么几个。


第二步我们来看看ActiveX控件创建的步骤:

1、新建一个ATL项目,确定。



2、添加一个ATL控件类,给控件一个名字,确定。



编写 ATL ActiveX 控件

一直想写一些ATL、ActiveX的东西,但是一直都没有下定决心去写,一来是自己对这方面的东西不太了解,写不出什么名堂;二来就是懒,懒得思考,懒得动手。这篇文章只是记录一下ATL ActiveX控件的一个大概写法跟使用方法,方便有这方面需求的同学快速上手。


一、ATL ActiveX控件编写


我做的是一个简单的图表控件,提供扇形图跟柱状图两种表现方式。

我们先简单列一下图表的成员属性:

1、图表样式:柱状图还是扇形图。

typedef enum _em_chart_type{ctNull,ctHistogram,ctPieChart} ChartType;
ChartType m_chartType;

2、图表中每一个项目的信息:名称、百分比和显示的颜色。

typedef struct _st_item_info{TCHAR		name[64];FLOAT		percent;OLE_COLOR	color;} ItemInfo;
std::list<ItemInfo><span style="white-space:pre">	</span>m_items;

3、图表是否显示:
VARIANT_BOOL m_bShow;

好了,只是一个简单的例子,就这么几个。


第二步我们来看看ActiveX控件创建的步骤:

1、新建一个ATL项目,确定。



2、添加一个ATL控件类,给控件一个名字,确定。