RE:Cambiar color del form
Necesitas crear una propiedad de tu control, para k cuando cambies el color de tu control, desde fuera puedas volver a cambiarlo.. agrega este codigo a un CLASS MODULE dentro del proyecto de tu control cambiando NOMBRE_DEL_CONTROL por el de tu control
Public Property Get BackColor() As OLE_COLOR
BackColor = nombre_del_control.BackColor
End Property
Public Property Let BackColor(color As OLE_COLOR)
nombre_del_control.BackColor = color
End Property
Ahora en el vento de tu control MouseMove agrega lo siguiente
Private Sub NombredelControl_MouseMove ( Button As Integer, Shift As Integer, X As Single, Y As Single )
'Cuando el mouse pasa por encima cambia a color rojo
NombredelCLASSMODULE.BackColor = &H000000FF&
End sub
Ahora en el proyecto donde agregues tu control agregas este codigo
Private sub Form_MouseMove ( Button As Integer, Shift As Integer, X As Single, Y As Single )
' Esto regresa el color original del control , en este caso el gris k tienen los forms por default
Nombre_del_Control.BackColor = &H8000000F&
End sub
Espero k esto te sirva....