Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Desplegando Un Date Box Por Código

Desplegando Un Date Box Por Código
Artículo
Responder citando    Descargar mensaje  
Mensaje Desplegando Un Date Box Por Código 
 
Supóngase que uno tiene un datebox y supóngase que al activar un checkbox que hay al lado se quiere desplegar el datebox "automáticamente".

La única "triccky and dirty" manera que he encontrado es ésta cbAvisar es el checkbox y f_Aviso el datebox:
Public Sub cbAvisar_Click()

   Dim o As Object
  
   If cbAvisar.Value Then
       f_aviso.Enabled = True
       o = f_aviso.Children[0]
       o = o.Children[0]
       o = o.Children[1]
       o.value = True
   Endif

End

Explicación: Un date box contiene un drawingarea que contiene un buttonbox que contiene un button al que hay que darle Value=true
Hay que bajar por la escala de los children (hijos) hasta que des con el child que buscas.

Iba a titular el post como "Rebotando escaleras abajo" o "En busca del Hijo perdido"...

¿A alguien se le ocurre alguna forma mejor?



 
última edición por shordi el Martes, 09 Febrero 2016, 13:24; editado 1 vez 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Martes, 09 Febrero 2016, 13:23 ]
 


Desplegando Un Date Box Por Código
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Desplegando Un Date Box Por Código 
 
Shrodi:

Y asi:


f_aviso.Children[0].Children[0].Children[1].value =true


Es lo mismo que haces tu, pero en una sola linea... (y algo menos intendible)

Saludos



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Martes, 09 Febrero 2016, 13:34 ]
Responder citando    Descargar mensaje  
Mensaje Re: Desplegando Un Date Box Por Código 
 
Muy interesante, shordi.
Factum bene !    41



 
última edición por vuott el Martes, 09 Febrero 2016, 16:10; editado 1 vez 
vuott - Ver perfil del usuario Enviar mensaje privado  
vuott [ Martes, 09 Febrero 2016, 16:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: Desplegando Un Date Box Por Código 
 
jsbsan escribió: [Ver mensaje]
Shrodi:

Y asi:


f_aviso.Children[0].Children[0].Children[1].value =true


Es lo mismo que haces tu, pero en una sola linea... (y algo menos intendible)

Saludos


Sí, pero... ¿te funciona? Más bien no.
Es lo mismo en teoría pero gambas es incapaz de detectar las propiedades de un control que esté embebido en otro (o en una colección, o en un array...) de ahí que haya que "acercar" el objeto que nos interesa vía variable tipo object.



 
última edición por shordi el Martes, 09 Febrero 2016, 17:54; editado 1 vez 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Martes, 09 Febrero 2016, 17:49 ]
Responder citando    Descargar mensaje  
Mensaje Re: Desplegando Un Date Box Por Código 
 
Shordi:

Tan largo no lo he probado...

En clases que hago yo, que contienen otros objetos, si me ha ido bien. Suponia que también iba a funcionar en tu ejemplo.  



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Martes, 09 Febrero 2016, 18:28 ]
Responder citando    Descargar mensaje  
Mensaje Re: Desplegando Un Date Box Por Código 
 
Citar:
En clases que hago yo, que contienen otros objetos, si me ha ido bien.

El problema, creo, es que Children es una colección de controles de cualquier tipo, lo que, por definición, hace que sus propiedades puedan ser distintas en cada uno de sus elementos. Por tanto lo único que tienen en común los controles es que son contenedores, toda propiedad que no sea propia de un contenedor no es accesible con esa sintáxis "a priori".

Pero es lo que me imagino, vamos, que saberlo no lo sé.



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Martes, 09 Febrero 2016, 18:55 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron