I think the easiest way to add control at runtime is to use VBCOntrolExtender:
Definition
Private WithEvents m_ctl As VBControlExtender
Creation
Set m_ctl = Controls.Add(function_to_get_the_DLL_name (), "m_ctl")
Catch the Event
Private Sub m_ctl_ObjectEvent(Info As EventInfo)
Removal
Controls.Remove ("m_ctl")
Andyroo
