天天看點

COM元件設計與應用(十八)——屬性包

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 接口。