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 控件”中的“在控件中添加属性”。