ActiveX控件制作.ppt

上传人:自*** 文档编号:126518240 上传时间:2020-03-25 格式:PPT 页数:17 大小:210KB
返回 下载 相关 举报
ActiveX控件制作.ppt_第1页
第1页 / 共17页
ActiveX控件制作.ppt_第2页
第2页 / 共17页
ActiveX控件制作.ppt_第3页
第3页 / 共17页
ActiveX控件制作.ppt_第4页
第4页 / 共17页
ActiveX控件制作.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《ActiveX控件制作.ppt》由会员分享,可在线阅读,更多相关《ActiveX控件制作.ppt(17页珍藏版)》请在金锄头文库上搜索。

1、ActiveX控件制作 在系统开发过程中 控件的使用可以有效的帮助程序的开发 但是系统提供的控件不能满足用户的所以要求 于是我们可以开发满足自己要求的Activx控件 下面介绍一个简单ACtivx控件的制作 1 新建MFCActivxcontrolwizard工程 名为MyClock 选择创建空的工程 生成的控件有3个类和2个接口 应用程序类 CMyclockApp主窗口类 CMyclockCtrl对话框类 显示控件属性页CMyclockPropPage接口是外部调用控件功能的函数集合 一些纯虚函数 在主窗口类中进行实现 运行时选择下面的方式 控件是无法独立运行 必须使用容器来测试控件 查看其

2、方法和属性页 方法只有aboutBox 属性页为空 下面学习添加属性和方法 控件注册与注销 控件必须注册才可以使用 在globals中有注册函数DllRegisterServer和注销函数DllUnregisterServer Vc 编译控件时 最后对ACtivx控件调用全局函数进行注册 可以手动注册 开始 运行 regsvr32E Clock ocx或者vc tool registercontrol控件注销 使用regsvr32程序 regsvr32 uE Clock ocx注销 默认生成的控件功能是在CMyclockCtrl ondraw中画一个椭圆 可以修改为下面时间函数CTimetim

3、e CTime GetCurrentTime if 0 time GetSecond FireNewMinute CStringstr time Format H M S pdc TextOut 0 0 str 得到时间时静止的 可以设置一个时钟函数 更新时间 添加常用属性页 MFC提供了三个与ActiveX控件一起使用的常用属性页 CLSID CColorPropPage CLSID CFontPropPage和CLSID CPicturePropPage 这些页分别显示常用颜色 字体和图片属性的用户界面 添加 在MyclockCtl cpp中找到BEGIN PROPPAGEIDS CSam

4、pleCtrl 4 PROPPAGEID CMyPropPage guid PROPPAGEID CLSID CFontPropPage PROPPAGEID CLSID CColorPropPage PROPPAGEID CLSID CPicturePropPage END PROPPAGEIDS CSampleCtrl 请注意 BEGIN PROPPAGEIDS宏中的属性页数为4 它表示ActiveX控件支持的属性页数 注意如果不能访问控件常用属性页 可能是因为没有在当前的操作系统中正确地注册MFCDLL MFCxx DLL 导致这种情况的原因通常是安装了VisualC 和 Net多个MF

5、C库 如果常用属性页不可见通过在命令行中用DLL的完整路径名运行RegSvr32 exe来注册DLL 添加自定义属性页 如果系统提供一个自定义属性页不够用 则按以下步骤添加 1 ActiveX工程中 资源视图中 Dialog 节点 添加Dialog并选择IDD OLE PROPPAGE SMALL 并修改其名字 2 在类向导中 添加新类 注意其基类和dialogID 选择你新建的对话框 3程序中添加 程序中有个属性页表添加头文件 include classname h 修改属性表BEGIN PROPPAGEIDS CClockCtrl 4 PROPPAGEID CClockPropPage g

6、uid PROPPAGEID CLSID CColorPropPage PROPPAGEID newPropPage guid PROPPAGEID classname guid END PROPPAGEIDS CClockCtrl 改变其总数 并将新建的属性页其加入4 完善属性页 二 设置自定义属性页的名字在资源的stringtable中添加两个string一个是新建属性页的标题 一个是新建属性页的名字 在字符表中修改后 必须在程序中对应位置修改 我们先定义个设置的值是IDS Camera IP CAPTION 名字 在这个属性页类的构造函数由newPropPage newPropPage

7、COlePropertyPage IDD 0 改为 newPropPage newPropPage COlePropertyPage IDD IDS new CAPTION 结果出现错误 4 错误是没定义标题 出现空指针 再定义一个标题 IDS VIDEO Camerapara options标题 BOOLCcameraparam CcameraparamFactory UpdateRegistry BOOLbRegister if bRegister returnAfxOleRegisterPropertyPageClass AfxGetInstanceHandle m clsid IDS VIDEO Camerapara elsereturnAfxOleUnregisterClass m clsid NULL 三 属性页控件变量关联到属性1 在项目类中添加一个属性propname 名字中不要有下划线 错误 InvalidOLEexternalname prop name 是因为名字不符合规则2 打开资源 对话框 对要关联的控件添加变量 注意 在Optionalpropertyname中选择要关联的属性变量名 如果没有该选项 直接输入其名字也一样

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号