2024年4月2日发(作者:)
使用MFC开发ActiveX控件全过程
Visual C++是开发ActiveX控件的强大工具,它的特点是开发周期短、便于使用,因此它已经成
为开发ActiveX控件的主要工具之一。Visual C++集成开发环境,使用了微软自己的类库MFC,MF
C对开发ActiveX控件提供了全面的支持,本文讲述的过程均在Visual C++ 6.0(以下简称VC)中
实现。
1、 创建工程:
对于使用过VC的人,可以很容易地创建一个开发ActiveX控件的工程,没有使用过VC的人,按
照下面的操作步骤,也可以很快创建一个同样的工程出来。
第一步:“File”—>“New”—>“(Projects)MFC ActiveX ControlWizard”,在“Project N
ame”中输入合适的工程名(以test为例),在“Location”中选择工程文件存放路径,然后,“OK”
进入下一步;
第二步:选择你想在这个工程中生成的ActiveX控件的个数(至少一个),其余选项决定是否生成
一些辅助文件,通常按照默认设置即可,“Next”进入下一步;
第三步:编辑你的工程中各个类和文件的名称,配置一些辅助选项,可以全部选择默认设置,“Fi
nish”进入下一步;
第四步:展示向导为你的工程生成的各种配置信息,“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()
函数中的内容,就可以绘制自己想要的控件了。需要注意的一点,控件的绘制被限制在矩形rcBound
s中,绘制范围不能超出这个矩形。
3、 添加属性:
ActiveX控件提供了三种类型的属性供用户选择:公共属性、具有通知特性的属性和Get/Set
类型的属性。下面依次对三种类型属性的添加、初始化、新属性值的获取和属性的永久保存,分


发布评论