VS下ocx开发:(1)用C++开发简单的ocx控件

时间:2024-04-14 18:28:24

    本文给出了在Visual Studio 2010开发环境下使用向导工具生成一个简单ocx控件的示例。

    首先以管理员身份运行Visual Studio 2010,这样做的目的是在将来编译控件时VS2010能自动注册ocx控件,不会出现权限不足导致失败的错误。如果不使用管理员身份运行VS 2010,将来就需要使用regsvr32命令手动注册创建的ocx控件(注意执行regsvr32命令时也要使用管理员身份,即以管理员身份执行cmd.exe,然后在命令行窗口中执行regsvr32命令)。在“起始页”中点击“新建项目”,就会弹出对话框,如下图所示:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    将要创建一个做乘法运算的ocx控件,于是给项目起名叫"MultiplyDemo",点击”确定“按钮,接下来向导显示如下:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    接下来都采用默认设置,连续点击”下一步“按钮,显示依次如下:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


VS2010下ocx开发:(1)用C++开发简单的ocx控件


VS2010下ocx开发:(1)用C++开发简单的ocx控件


    这里勾选了“运行时不可见”和”有‘关于’对话框“这两项,点击”完成“按钮,将会自动创建相关的文件。完成后切换到”类视图“,展开MultiplyDemoLib这一项,在下属的_DMultiplyDemo这一项上点击鼠标右键,在弹出菜单选项中点击”添加方法“,如下图:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    在”添加方法向导“对话框中,方法名设为”Multiply“,返回类型在下拉列表中选中LONG。在“参数类型”下拉列表中选择LONG,“参数名”输入框中输入Num1,点“添加”按钮添加一个参数Num1,再按同样方法添加参数Num2,如下图:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    点击“下一步”按钮,显示如下:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    不修改默认设置,点击“完成”按钮。接下来按Ctrl+F快捷键,搜索Multiply,定位到MultiplyDemoCtrl.cpp文件中Multiply(LONG Num1, LONG Num2)方法的定义部分,如下图:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    修改Multiply( )函数的定义,改为如下:

VS2010下ocx开发:(1)用C++开发简单的ocx控件

    即该函数的返回值是两个输入参数Num1与Num2的乘积。


    在“解决方案资源管理器”窗口中,在MultiplyDemo这一项上点击鼠标右键,点击“生成”选项,如下图:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    完成之后,到程序所在目录下,可以看到创建了MultiplyDemo.ocx文件,如下图:

VS2010下ocx开发:(1)用C++开发简单的ocx控件


    可以使用COMRaider工具软件(网址:https://github.com/dzzie/COMRaider)查看一下生成的ocx文件,显示如下:

VS2010下ocx开发:(1)用C++开发简单的ocx控件

    可以看到在MultiplyDemo.ocx控件中包含了一个名为Multiply的方法。