'控件的InitProperties事件 Private Sub UserControl_InitProperties() Dim objT As ObjectFor Each objT In UserControl.ParentControls '这儿只是读出父对象的成员对象的名称,你可以修改成需要的代码 UserControl.List1.AddItem objT.Name NextEnd Sub
使用属性应该可以实现吧
如:Property Set Pen(P As Object) Set CurrentPen = P '将 Pen 赋给对象。 End Property
Private Sub UserControl_InitProperties()
Dim objT As ObjectFor Each objT In UserControl.ParentControls
'这儿只是读出父对象的成员对象的名称,你可以修改成需要的代码
UserControl.List1.AddItem objT.Name
NextEnd Sub
如:Property Set Pen(P As Object)
Set CurrentPen = P '将 Pen 赋给对象。
End Property
第一个事件发生时控件还只是实例化自身,这个时候是看不到父对象及其成员的.所以需用InitProperties事件来观察控件的环境.在此事件中我们可以通过控件的ParentControls集合来读出父对象的所有成员,同时我们可以通过此成员集合来填充自定义控件的一个枚举成员(似乎是枚举成员)的值的集合.使得用户可以选择父对象的成员.
当然在填充过程中,还要判断具体对象的类型 只加入需要的对象的名称.