c++开发ocx入门实践一

时间:2024-11-04 16:35:14

原文:http://blog.****.net/yhhyhhyhhyhh/article/details/51374200

最近项目中利用ocx封装了底层视频播放及处理的控件,以供c#和web调用。对ocx的属性、方法和事件刚入门,对ocx上控件和容器的参数传递和数据交互等问题,纠结了很久,虽然最终项目上的问题都解决了,但是对ocx的自定义消息还是搞不定。写几篇ocx入门的博文,记录一下。
        IDE:vs2010,64位win7系统。 
        关于c++开发ocx讲解详细的博文:http://blog.****.net/frankiewang008/article/details/7890032。里面关于ocx属性、方法和事件讲的非常详细。具体的添加属性,事件就不写了,直接贴个截图和完整的demo例子,以备以后忘记。这里只是简单记录一下学习过程,ocx都是基于mfc的,首先测试了一下vc++深入详解中的时间控件例子。代码下载c++深入详解中的ocx时间控件 测试时间控件:测试时间控件的c++代码
           1.ocx的调试:vs自带的TstCon.exe(在D:\Program Files (x86)\Microsoft Visual Studio10.0\Samples\2052\VC2010Samples\C++\MFC\ole\TstCon\Debug下,没有的话编译一下工程,就会生成) 。或者直接在c++、c#、web容器下测试
           2.ocx的添加属性、方法、事件和消息的位置,新手注意。
           c++开发ocx入门实践一c++开发ocx入门实践一
        3.ocx生成后的注册:vs2010下生成ocx后会自动注册,如果没有注册,可利用win自带的regsvr32进行注册或反注册。
如:注册:regsvr32 C:\Users\Administrator\Desktop\博客\My_ocx1\Release\My_ocx1.ocx
     反注册: regsvr32 C:\Users\Administrator\Desktop\博客\My_ocx1\Release\My_ocx1.ocx  /u
     注意:
       1.实际项目开发中要考虑ocx需要的dll或其他文件,把生成ocx的相关dll和配置文件放在一个路径下注册,否则可能会失败
       2.要考虑win下32位还是64位系统,最好把ocx和相关dll等放在在系统目录下。
      32位系统目录:C:\Windows\System32
      64位系统目录:C:\Windows\SysWOW64
      3.实际中可能还需要以管理员方式运行cmd。
       c++开发ocx入门实践一
        4.ocx控件在c++/c#中的添加
    c++开发ocx入门实践一c++开发ocx入门实践一
5.简单测试
c++开发ocx入门实践一c++开发ocx入门实践一