使用标准属性页

Visual Basic 提供三种标准属性页:StandardFont、StandardColor 以及 StandardPicture。如果声明类型为 Font、OLE_COLOR 或者 Picture 的属性,则 Visual Basic 的“属性”窗口自动将这些属性与合适的标准属性页相关联。

但是,Visual Basic 不会自动将这些页面添加到“属性页”对话框中。用“将属性页连接到某个 ActiveX 控件”中所述过程来将标准属性页添加到页面列表中,而这个列表将在“属性页”对话框中显示。

注意 在“属性页”对话框中用来显示标准属性页的格式与“属性”窗口中所用格式不同。例如,Color 页面的格式就完全不同,而 Font 页面不显示全部 Font 对象属性。

提示 如果用属性页向导创建控件的属性页,而且控件的属性声明 Font、OLE_COLOR 或 Picture,则向导自动将合适的标准属性页添加到要显示的页面列表中。

标准属性页和多重属性

如果控件有多个使用标准属性页的属性,并把这个页面添加到控件的 PropertyPages 属性中,则标准页面包括一个属性列表,用户可从中进行选择。

例如,假设的 VirtualVelociraptor 控件具有几个类型为 OLE_COLOR 的属性,图 10.4 对此控件显示“属性”窗口和“属性页”对话框:

图 10.4 有多重颜色属性的控件的“属性”窗口

图 10.5 中所示,对于 VirtualVelociraptor 控件,“属性页”对话框所显示的“颜色”页面具有一个列表框,它包含控件的四个颜色属性。

图 10.5 显示多重属性的标准属性页

图 10.5 还表明,“属性页”对话框使用一种与“属性”窗口所使用的不同的格式。

注意 当标准属性页显示多重属性时,每当用户从列表中选定不同属性时都会产生 ApplyChanges 事件。

下段代码指出应如何声明假设的 VirtualVelociraptor 控件的 StripeColor 属性,从而用“属性”窗口以及“属性页”对话框工作:

Private mStripeColor As OLE_COLOR

Public Property Get StripeColor() As OLE_COLOR
   StripeColor = mStripeColor
End Property

Public Property Let StripeColor( _
      ByVal NewColor As OLE_COLOR)
   mStripeColor = NewColor
End Property

详细信息 请参阅“建立 ActiveX 控件”中的“在控件中添加属性”。