https://foro.gambas-es.org/viewtopic.php?f=4&t=7718&p=46396#p46396
-----------------------------------
shordi
Martes, 17 Septiembre 2019, 19:53

Re: ¿Como Instalo O Incorporo Un Componente Personalizado En El IDE De Gambas3?
-----------------------------------
[quote]no se como llamar los eventos de la _clase desde el formulario principal.[/quote]
Los Eventos no se llaman desde fuera, se levantan desde dentro. 

Una clase que empieza por _ es, por definición, oculta y el formulario principal no debería tener acceso a ella para nada.
Si quieres levantar eventos tiene que ser en la clase, no en el formulario oculto que esta maneja.
Para ello basta un observador en la clase que levante los eventos que necesites. 
Es decir  la clase Textips tiene que observar al formulario _Textips así:

[code linenumbers=false syntax=gambas]Export

Inherits UserControl

Event Click() ''Declaramos los eventos que queremos que se pasen al formulario principal
Event DblClick()

Public Const _Properties As String = "*,LText,Text"    'Declarar Estas constantes permiten que sean accesibles desde la lista de propiedades de IDE
Public Const _Group As String = "View"  'Esta constante define el grupo de controles en los que aparecerá en el IDE
' Public Const _Similar As String = "ListView" 'Esta similitud sirve al IDE para rellenar el menú desplegable del botón derecho de "Cambiar por"
'Los comentarios con doble comilla después de la propiedad aparecen como ayudas de esta en el IDE
Property LText As String ''A string[] with de content of the list
Property {Text} As String ''The text of the TextBox

Private $texto As _TextTips
private $obs as observer

Public Sub _new()

   $texto = New _TextTips(Me) 'Creamos la instancia del formulario
   $obs=new observer(_textips) as "elForm" 'creamos el observador del formulario que detectará los eventos que éste levante

End

public sub elform_Click()

    raise Click() 'levantamos el evento. El formulario principal que es el contenedor y por tanto el observador de ésta clase debería poder detectarlo.

endif

public sub elform_DblClick()

    raise DblClick() 'levantamos el evento. El formulario principal que es el contenedor y por tanto el observador de ésta clase debería poder detectarlo.

endif
....
....
[/code]


