Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?


Objetivo: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?
Buenas.

Lo que estoy tratando de hacer es mediante una consulta a una base de datos por cada resultado que obtenga agregar un Expander dentro de un ScrollView. pero cuando ejecuto el programa no se ve ningun Expander dentro del control. Y no es que no haya arrojado resultados la consulta.

mi codigo es el siguiente:
Private rs As Result
Private cn As New Connection
Private Expan As Expander

Private Sub cargar()
If Not cn.Opened Then cn = modCon.conectar()
rs = cn.Exec("Select * from Gasto group by Fecha")
For Each rs
Print Format(rs!Fecha, "dd-mm-yyyy")

Expan = New Expander(ScrollView1)'el ScrollView1 ya esta agregado al Form
Expan.Text = Format(rs!Fecha, "dd-mm-yyyy")

Next
End

Public Sub Form_Open()
cargar()
End

Perfil MP  
Objetivo: Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?
Hola vr_rv.

No das un tamaño al expander.

En este ejemplo que hice, he creado varios expander y dentro de cada expander, ncheckboxes.
Se debe controlar no pasarse en el número de checkboxes. No queremos que el tamaño
del expander sea enorme. No es un código perfecto pero para verlo como va.

objetodentrodeotro

' gambas class file

Private Const numExpanders As Integer = 5
Private Const numCheckBoxs As Integer = 3

Private cexpand As Expander

Public Sub Form_Open()

Dim x As Integer

For x = 1 To numExpanders
CrearExpander(x)
Next

End

Public Sub CrearExpander(nexp As Integer)

Dim cchkbox As CheckBox
Dim x As Integer

cexpand = New Expander(ScrollView1)
With cexpand
.Text = "Expander " & CStr(nexp)
.Height = 100
.Width = 100
.Arrangement = Arrange.Vertical
End With

'
For x = 1 To numCheckBoxs
cchkbox = New CheckBox(cexpand)
With cchkbox
.Width = 100
.Height = 20
.Text = "Opción" & CStr(x)
End With
Next

End


Saludos


ControlDentroDeOtro.tar.gz
Descripción:  
Descargar
Nombre del archivo: ControlDentroDeOtro.tar.gz
Tamaño: 12.21 KB
Descargado: 33 veces
ControlDentroDeOtro.tar.gz
Descripción:  
Descargar
Nombre del archivo: ControlDentroDeOtro.tar.gz
Tamaño: 12.21 KB
Descargado: 33 veces
ControlDentroDeOtro.tar.gz
Descripción:  
Descargar
Nombre del archivo: ControlDentroDeOtro.tar.gz
Tamaño: 12.21 KB
Descargado: 33 veces

Objetivo: Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?
Fijaros que ocurre si cambio el número de checkboxes a 10 y cambio la propiedad Expand de los checkboxes.

....
Private Const numCheckBoxs As Integer = 10

....
For x = 1 To numCheckBoxs
cchkbox = New CheckBox(cexpand)
With cchkbox
.Width = 100
.Height = 20
.Text = "Opción" & CStr(x)
.Expand = True
End With
Next


comosardinasenlata

¿ Sabríais como evitar esa situación y que pueda haber más checkboxes ?.
( Sé que es domingo ).

Saludos

Objetivo: Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?
Una posible solución:

Para saber la altura que tiene el expander, debemos saber cuanto mide la altura total de los n checkboxes.

Private Const numExpanders As Integer = 5
Private Const numCheckBoxs As Integer = 10
Private Const altcheckbox As Integer = 20

Private cexpand As Expander

Public Sub Form_Open()

Dim x As Integer

For x = 1 To numExpanders
CrearExpander(x)
Next

End

Public Sub CrearExpander(nexp As Integer)

Dim cchkbox As CheckBox
Dim x As Integer

cexpand = New Expander(ScrollView1)
With cexpand
.Text = "Expander " & CStr(nexp)
.Height = altcheckbox * numCheckBoxs
.Width = 100
.Arrangement = Arrange.Vertical
End With

'
For x = 1 To numCheckBoxs
cchkbox = New CheckBox(cexpand)
With cchkbox
.Width = 100
.Height = altcheckbox
.Text = "Opción" & CStr(x)
.Expand = True
End With
Next

End


conociendoalturatotaldecheckboxes

Saludos

última edición por Shell el Domingo, 10 Julio 2016, 09:03; editado 1 vez
Objetivo: Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?
Muchas Gracias Shell, ya lo tengo funcionando

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4288s (PHP: -74% SQL: 174%)
Consultas SQL: 48 - Debug off - GZIP Activado