文件名称:保存属性值-VB_OCX制作
文件大小:377KB
文件格式:PPT
更新时间:2024-05-15 03:19:00
VB_OCX制作
7.保存属性值 在UserControl对象中有三个与属性访问密切相关的事件:InitProperties事件、 ReadProperties事件和WriteProperties事件。 属性保存在称为“属性包”、类型为PropertyBag的对象中,可以通过调用“属性包”的WriteProperties方法和ReadProperties方法来保存和读取属性值。 如读取Drive、Path、FileName属性的过程代码为: Private Sub UserControl_ReadProperties(PropBag As PropertyBag) Drive1.Drive = PropBag.ReadProperty("Drive", "c:") Dir1.Path = PropBag.ReadProperty("Path", "c:\效果图") File1.FileName = PropBag.ReadProperty("FileName", "") End Sub 保存Drive、Path、FileName属性的过程代码为: Private Sub UserControl_WriteProperties(PropBag As PropertyBag) Call PropBag.WriteProperty("Drive", Drive1.Drive) Call PropBag.WriteProperty("Path", Dir1.Path) Call PropBag.WriteProperty("FileName", File1.FileName) End Sub 虽然在WriteProperties事件中加上了保存属性的代码,但WriteProperties事件并不知道属性值何时发生了改变,可以调用PropertyChanged方法来通知VB控件的某个属性值发生了改变,然后通知WriteProperties事件保存新的属性值。如: Public Property Let Drive(ByVal New_Drive As String) Drive1.Drive = New_Drive PropertyChanged "Drive" End Property