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