使用标准属性页
Visual Basic 提供三个标准属性页:StandardFont、StandardColor 和 StandardPicture。如果您声明字体、OLE_COLOR 或图片类型的属性,Visual Basic 的属性窗口将自动将这些属性与适当的标准属性页相关联。
但是,Visual Basic 不会自动将这些页面添加到“属性页”对话框中。使用“将属性页连接到 ActiveX 控件”中显示的过程将标准属性页添加到将在“属性页”对话框中显示的页列表中。
注意 用于在“属性页”对话框中显示标准属性页的格式与“属性”窗口使用的格式不同。例如,Color 页面的格式完全不同,Font 页面不显示所有 Font 对象属性。
提示 如果您使用属性页向导为属性声明为 Font、OLE_COLOR 或 Picture 的控件创建属性页,该向导将自动将适当的标准属性页添加到要显示的页面列表中。
标准属性页和多个属性
如果您的控件具有多个使用标准属性页的属性,并且您将该页添加到控件的 PropertyPages 属性,则标准页将包含用户可以从中选择的属性列表。
例如,图 10.4 显示了假设的 VirtualVelociraptor 控件的“属性”窗口和“属性页”对话框,该控件具有多个 OLE_COLOR 类型的属性:
图 10.4 具有多个颜色属性的控件的属性窗口
如图 10.5 所示,由 VirtualVelociraptor 控件的 Property Pages 对话框显示的 Color 页面有一个列表框,其中包含控件的四种颜色属性。
图 10.5 显示多个属性的标准属性页面
图 10.5 还显示了“属性页”对话框使用的格式与“属性”窗口使用的格式截然不同。
注意 当标准属性页显示多个属性时,每次用户从列表中选择不同的属性时都会引发 ApplyChanges 事件。
以下代码片段显示了应如何声明假设的 VirtualVelociraptor 控件的 StripeColor 属性,以便与“属性”窗口和“属性页”对话框一起使用:
Private mStripeColor As OLE_COLORPublic Property Get StripeColor() As OLE_COLOR StripeColor = mStripeColorEnd PropertyPublic Property Let StripeColor( _ ByVal NewColor As OLE_COLOR) mStripeColor = NewColorEnd Property
有关详细信息 ,请参阅“构建 ActiveX 控件”中的“向控件添加属性”。