开发ActiveX控件的实践(1)--用VS2010开发一个简单的TestOcx控件

来源:互联网 发布:java开发外包骗局 编辑:程序博客网 时间:2024/06/03 21:39

点选VS2010 IDE 的 文件->新建->项目,在新建项目窗口中选择 MFC ActiveX 项目,输入项目名称 TestOcx:

 

开发ActiveX控件的实践(1)--用VS2010开发一个简单的TestOcx控件

 

    点击确定,以后的设置选择默认,一路选择下一步直到完成,VS2010就自动生成了一个基本的控件,功能是画一个椭圆:

 

开发ActiveX控件的实践(1)--用VS2010开发一个简单的TestOcx控件

    在资源视图中右击 Dialog,在弹出的菜单中选 插入Dialog,为项目添加一个对话框。在右边的属性页中将ID项的值改为 IDD_D1, Visible项的值改为 True,Style项的值改为 Child。右击对话框,在弹出的菜单中选择添加类,输入类名CMainDialog 。

    在类视图中右击 CTestOcxCtrl 类,在弹出的菜单中选择添加变量,输入变量类型 CMainDialog,变量名为m_Dialog。在CTestOcxCtrl 类的属性页中点击 消息 按钮,选择 WM_CREATE 消息,打开右边的下拉框,双击 OnCreate 添加该函数。

 

开发ActiveX控件的实践(1)--用VS2010开发一个简单的TestOcx控件

在OnCreate 函数中添加如下代码:

    m_Dialog.Create(IDD_D1,this);

    在CTestOcxCtrl 类的 OnDraw函数中注释掉 VS2010 自动生成的画一个椭圆的代码:

    //pdc->FillRect(rcBounds, CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
    //pdc->Ellipse(rcBounds);

    编译通过后,就这么简单,一个ActiveX控件就生成了,在Debug目录中将有一个 TestOcx.ocx 控件文件且该控件已自动注册到了本机的注册表中。

    打开 TestOcx.idl 文件,在文件最后的类信息中找到 classid 的值,自己编写一个.htm文件,将classid值放置到相应的位置上,运行这个.htm文件后,在打开的网页中就出现了一个对话框:

 

开发ActiveX控件的实践(1)--用VS2010开发一个简单的TestOcx控件

0 0