使用MFC 开发ActiveX 控件全过程 Visual C++是开发ActiveX 控件的强大工具,它的特点是开发周期短、便于使用,因此它已经成为开发 ActiveX 控件的主要工具之一。Visual C++集成开发环境,使用了微软自己的类库MFC, MFC 对开发ActiveX 控件提供了全面的支持,本文讲述的过程均在Visual C++ 6.0(以下简称VC)中实现。 1、 创建工程: 对于使用过VC 的人,可以很容易地创建一个开发ActiveX 控件的工程,没有使用过VC 的人,按 照下面的操作步骤,也可以很快创建一个同样的工程出来。 第一步:“File”—>“ New”—>“ (Projects)MFC ActiveX ControlWizard”,在“Project Name”中输入合适的工程名(以test 为例),在“Location”中选择工程文件存放路径,然后,“OK”进入下一步; 第二步:选择你想在这个工程中生成的ActiveX 控件的个数(至少一个),其余选项决定是否生成一些辅助文件,通常按照默认设置即可,“Next”进入下一步; 第三步:编辑你的工程中各个类和文件的名称,配置一些辅助选项,可以全部选择默认设置,“Finish”进入下一步; 第四步:展示向导为你的工程生成的各种配置信息,“Cancel”重新设置不满意的选项,“OK”结束工程的创建。 2、 绘制控件: MFC 将对ActiveX 控件的支持封装在COleControl 类中,所有ActiveX 控件均从这个类 派生。绘制控件的全部操作则集中在一个虚函数中—OnDraw(),其默认实现如下: void CTestCtrl::OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid) { // TODO: Replace the following code with your own drawing code. pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH))); pdc->Ellipse(rcBounds); } 可以看到,OnDraw()函数的默认实现是在矩形rcBounds 中绘制一个椭圆,通过改写OnDraw()函数中的内容,就可以绘制自己想要的控件了。需要注意的一点,控件的绘制被限制在矩形rcBounds 中,绘制范围不能超出这个矩形。 3、 添加属性: ActiveX 控件提供了三种类型的属性供用户选择:公共属性、具有通知特性的属性和Get/Set 类型的属性。下面依次对三种类型属性的添加、初始化、新属性值的获取和属性的永久保存,分别进行介绍。 三种类型的属性的添加,都遵照相同的步骤:“View”—>“ ClassWizard”—>“ (Automation)Add Property”—>“ Add Property”对...