AvtiveX控件可看做是一个极小的服务器应用程序,不能独立运行,必须嵌入到某个容器程序中
容器应用程序:可以嵌入或链接对象的应用程序
服务器应用程序:创建对象并且当对象被双击时,可以被启动的应用程序
ock是ActiveX控件的一种后缀名,但ActiveX控件也有其他的后缀名如dll
当控件窗口发生重绘时,就会调用OnDraw函数,如果控件需要输出图形,就可以在这个函数中编写相应的实现代码
调度映射是MFC提供的一种映射机制,主要是为了让外部应用程序可以方便的访问控件的属性和方法
事件映射也是MFC提供的一种映射机制,让控件可以包含它的容器发送事件通知
接口是控件与外部程序进行通信的协议
regsvr32程序的作用是注册ActiveX控件
在生成控件时,vc++会调用regsvr32注册控件,将该控件的所有信息,包含所在路径都写入注册表中
ActiveX必须在注册之后才能使用
ActiveX的注册和取消注册都是利用该控件自身提供的两个函数(DllRegisterServer和DllUnregisterServer)来完成的,regsvr32只是调用这些函数而已
如果在程序加载的状态下,同时在VC++开发环境中利用Build命令生成控件文件的话,会出现错误,因为生成控件文件时需要重写相应的控件文件
测试:Tools->ActiveX控件控件测试容器
1.创建ActiveX控件:移植变量,函数,添加OnCreate,OnDestroy,OnTimer,OnPaint,OnSize消息
2.Tools->ActiveX Control Test Container
3.点击New Control
4.找到自己创建的名字
添加测试mfc程序:Porject->Add To Project->Component and Controls..
选择要测试的那个ActiveX控件
手动控件注册:
Tool/ActiveX Control Test Container
选择File/Register Controls
打开Register Controls