https://foro.gambas-es.org/viewtopic.php?f=4&t=2220
-----------------------------------
ljma
Miercoles, 07 Marzo 2012, 14:04

Controles De Usuario
-----------------------------------
Hola,

Al crear un control de usuario hay propiedades que se puede leer su valor asignado en el procedimiento _new() y otras que no te da el valor asignado  en ese procedimiento _new, como por ejemplo X, Y, Height, Width.
¿Cómo se podrían leer estas propiedades para que el componente hiciera algo, por ejemplo, en función de su altura al inicializarse o cuando el usuario cambiara el valor?
Pongo un ejemplo para aclarar:

[code linenumbers=false syntax=gambas]
Export
Inherits SidePanel
Public Const _Properties As String = "*,oculto=False"
Public Const _DrawWith As String = "SidePanel"
Property oculto As Boolean
Private $oculto As Boolean = False
Private hObs As Observer


Public Sub _new()
  hObs = New Observer(Me) As "persiana" 
  Print Super.Orientation 'Sale 19
  Print Super.AutoResize 'Sale False
  Print Super.Expand  'Sale False
  Print Super.Border 'Sale False
  Print Super.Background 'sale -1
  Print Super.Foreground 'sale -1
   If Super.X > 50 Then
     Message.Info("Esto es un ejemplo")
   Endif
  Print  Super.Y 'sale 0
  Print  Super.Height 'sale 0
   Print Super.Width 'sale 0
   Print Me.oculto 'Sale vacio
End
[/code]

Con las propiedades diseñadas por nosotros no tengo problema porque tengo acceso tanto a la función de lectura como al procedimiento de escritura, por lo que puedo interactuar con ellas. 

Gracias 

Saludos


