描述:
我用菜单中的insert component 来添加ocx,每次都报错,说是注册不正确,然后我就用右键中的insert Activex把相应的ocx加到控件栏上,然后添加到对话框中,vc自动给我添加了相应的类,生成了.cpp和.h文件。
问题是后来这个控件修改了接口以后,我覆盖掉原来的ocx文件,然后重新注册编译,运行并没有反映,后来把这个ocx对应的.cpp和.H都给我删了,我都不知道怎么手动生成相应的类?
解决方案1:
1.一个控件一旦生成,就不要修改其接口的结构了。因为每个接口都有一个GUID,如果修改了该接口,可能会对所有的接口的GUID产生影响,有可能你没有改变的那些接口都不能用了。接口的结构主要指接口的参数类型或者个数。因此一般对控件升级的时候只能增加接口,或者修改接口的内部实现,而不能删除接口,否则以前编译的使用了旧版本的控件的程序很可能就报废了。
2.手工添加跟用MFC向导添加是一回事,既然MFC向导能作,为什么要手工呢。
要不你:开始菜单->运行:resgsvr32 路径+控件名
试试!
菜单 Project -> Add to Project -> Components and controls
对话框中选 Registered ActiveX Controls。然后选好你的控件,添加就是了。
Visual Studio会帮你加相关的新类的头文件和CPP文件的。