您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:24 来源:vckbase.com

本文章共4044字,分3页,当前第1页,快速翻页:
 

COM组件设计与应用(十八)——属性包

作者:杨老师

下载源代码
逆@风@者

一、前言

  书接上回,本回着落在介绍属性包 IPersistPropertyBag 接口的实现方法和调用方式。属性包,是以“名称 - 值”的方式提供组件持续性的支持,而“名称 - 值”恰恰又适合于用文本方式来表现。下面的片段是在 HTML 中插入 Microsoft MonthView Control ActiveX 控件后的样式:

<object classid="clsid:232E456A-87C3-11D1-8BE3-0000F8754DA1" id="MonthView1">

	<param name="_ExtentX" value="9393">

	<param name="_ExtentY" value="4974">

	<param name="_Version" value="393216">

	<param name="ForeColor" value="0">

	<param name="MaxSelCount" value="7">

	<param name="MonthColumns" value="1">

	<param name="CurrentDate" value="38632">

	<param name="MaxDate" value="2958465">

	<param name="MinDate" value="-53688">

</object>
以文本方式保存组件属性,比较直观、容易修改,上面 HTML 示例中的 <param name="属性名" value="值"> 就很清晰。下面开始介绍如何在组件中实现 IPersistPropertyBag 接口。

二、组件的实现
(1)vc6.0 开发步骤
1、建立一个工作空间(WorkSpace)。
2、在这个工作空间中,建立 ATL 工程,示例程序工程为 Simple18。
3、增加 ATL 对象类,默认全部选项。示例程序中的 ATL 对象短名称是 Property。
4、增加一些属性。在以前的章回中,我们只介绍了增加接口函数的方法,由于今天是首次增加接口属性,所以稍微细致一些。步骤是,在ClassView卡片中选择接口(IProperty)后,执行鼠标右键菜单"Add Property..."



5、增加 BSTR 类型的接口属性 str,同样的方式,再增加一个 long 型的接口属性 interger。在示例程序中,这两个属性其实只为演示,并没有实际的意义。



6、接口中的属性,多数情况下会对应对象内部的一个成员变量,因此我们现在要添加成员变量。选择对象类名,执行鼠标右键菜单"Add Member Variable...."



7、添加两个成员变量,一个是 CComBSTR m_str 对应于接口属性 str;另一个是 long m_integer 对应于接口属性 integer。



(2)vc.net 开发步骤
1、建立一个空白解决方案。
2、在解决方案中,新增 ATL 项目。示例程序中项目名称叫 Simple18, 注意不要选择“属性化编程”方式。
3、添加 ATL 类。选择 “ATL 的简单对象”。默认全部选项。示例程序中 ATL 类短名称为 Property,类名称为 CMyProperty。(注1)
4、 增加一些属性。在以前的章回中,我们只介绍了增加接口函数的方法,由于今天是首次增加接口属性,所以稍微细致一些。步骤是,在类视图卡片中选择接口(IProperty)后,执行鼠标右键菜单"添加属性..."



5、增加 BSTR 类型的接口属性 str,同样的方式,再增加一个 long 型的接口属性 interger。在示例程序中,这两个属性其实只为演示,并没有实际的意义。



6、接口中的属性,多数情况下会对应对象内部的一个成员变量,因此我们现在要添加成员变量。选择对象类名,执行鼠标右键菜单"添加变量...."
 
本文章更多内容1 - 2 - 3 - 下一页>>
相关文章

N皇后问题摆法算法描述
Windows SDK笔记(五):非模式对话框
语法高亮控件 PfxEditCtrl
在WinCE5中编程查找并连接周围的蓝牙设备并
浅谈PDFlib中文输出(五)人工生成粗体及斜
系统分析员考试回顾
加密 Windows CE系统
WinSock学习笔记(一)
如何实现24位色工具条
树型控件实现数据库的访问
Security Briefs...小心完全信任的代码
如何在服务(Service)程序中显示对话框
如何在编辑框中使用IAutoComplete接口
基于SHA-256的HMAC文件校验器
VC学习笔记之一:怎样实现XP风格按钮
一种另类“关于(About)”对话框的动态显示方
为对话框中的控件增加提示的简单方法
数据库开发之窗体编程
如何使用设备描述表
MFC程序员的WTL指南: Part VIII - 属性页与

相关评论


本文章所属分类:首页 VC++

  热门关键字: