我用菜单中的insert component 来添加ocx,每次都报错,说是注册不正确,然后我就用右键中的insert Activex把相应的ocx加到控件栏上,然后添加到对话框中,vc自动给我添加了相应的类,生成了.cpp和.h文件。
问题是后来这个控件修改了接口以后,我覆盖掉原来的ocx文件,然后重新注册编译,运行并没有反映,后来把这个ocx对应的.cpp和.H都给我删了,我都不知道怎么手动生成相应的类?

解决方案 »

  1.   

    菜单 Project -> Add to Project ->  Components and controls
    对话框中选 Registered ActiveX Controls。然后选好你的控件,添加就是了。
    Visual Studio会帮你加相关的新类的头文件和CPP文件的。
      

  2.   

    要不你:开始菜单->运行:resgsvr32 路径+控件名
    试试!
      

  3.   

    Components and controls中并没有Registered ActiveX Controls选项啊,然后我还想知道如果要自己手动添加相关新类可以吗?
      

  4.   

    控件的注册肯定没问题的,我的问题就是:
    1,如果修改了ocx控件接口后在vc中如何更新
    2,如何手工添加这个新的类
      

  5.   

    1.一个控件一旦生成,就不要修改其接口的结构了。因为每个接口都有一个GUID,如果修改了该接口,可能会对所有的接口的GUID产生影响,有可能你没有改变的那些接口都不能用了。接口的结构主要指接口的参数类型或者个数。因此一般对控件升级的时候只能增加接口,或者修改接口的内部实现,而不能删除接口,否则以前编译的使用了旧版本的控件的程序很可能就报废了。
    2.手工添加跟用MFC向导添加是一回事,既然MFC向导能作,为什么要手工呢。
      

  6.   

    再请教一下 IceKettle(冰湖) ,增加接口后如何更新这个类呢?是不是只要注册新的ocx文件,然后重新编译一下就可以了吗?
    另外现在我不小心把这个类的cpp和H文件删了,现在只能再建一个类了,可以从向导中建吗?
      

  7.   

    还想问一下为什么这个vb写的ocx控件不能通过Project -> Add to Project ->  Components and controls添加,一定要用右键中的insert Activex才能添加?
      

  8.   

    问题还没解决,这样的话不敢用ocx了
      

  9.   

    菜单 Project -> Add to Project ->  Components and controls
    对话框中选 Registered ActiveX Controls。然后选好你的控件,添加就是了。
    Visual Studio会帮你加相关的新类的头文件和CPP文件的。
      

  10.   

    按 zephyr518(默曲子) 说的作,然后rebuild all