Foros del Web » Programación para mayores de 30 ;) » Programación General »

Controlar la posición de los controles dinámicos (VB)

Estas en el tema de Controlar la posición de los controles dinámicos (VB) en el foro de Programación General en Foros del Web. Hola a todos. Mi caso es el siguiente. Me hallo desarrollando un programa en Visual Basic que genera exámenes tipo test, los cuales tienen sus ...
  #1 (permalink)  
Antiguo 22/05/2004, 08:21
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Controlar la posición de los controles dinámicos (VB)

Hola a todos.

Mi caso es el siguiente. Me hallo desarrollando un programa en Visual Basic que genera exámenes tipo test, los cuales tienen sus típicas respuestas, que serán seleccionadas mediante los correspondientes option button. Creo que hasta ahí se puede entender todo, olvidando de donde y cómo se obtienen los datos de las preguntas y las respuestas, pues ahí no tengo el problema (de todas maneras decir que las obtengo de una base de datos mdb mediante adodb).

El problema que tengo está relacionado con la posición de los controles generados en tiempo de ejecución. Esto sucede porque la pregunta 1 puede tener 2 líneas y 4 posibles respuestas mientras que la pregunta número 2 puede tener 1 línea y tan solo dos respuestas, de tal manera que cada pregunta (en su conjunto con las respuestas) tiene un height total diferente de cualquier otra, de manera que no sé como calcular dónde situar los nuevos controles que dinámicamente se vayan generando en cada test que decida realizar.

Si alguien puede ayudarme con alguna idea, bienvenida será cualquier ocurrencia. Muchas gracias
__________________
por Pip

Última edición por Pip; 22/05/2004 a las 12:33
  #2 (permalink)  
Antiguo 22/05/2004, 10:44
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, Pip.

No dices en que lenguaje estás programando, pero quizás puedas solucionarlo metiendo cada pregunta con sus respuestas en un contenedor, por ejemplo el <div> de HTML.

Si dieras algún detalle más puede que alguien encuentre la forma de ayudarte.

Saludos,

Última edición por JavierB; 22/05/2004 a las 10:46
  #3 (permalink)  
Antiguo 22/05/2004, 12:32
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Vaya despiste más tonto, voy a editar el mensaje principal para que quien lo lea sepa de qué lenguaje hablo, no sé como se me pasaría.

De todas maneras también lo escribo aquí para quien se salte mi primer mensaje, hablo de Visual Basic. No me importa que alguien me de una solución para otro lenguaje puesto que de alguna manera la podría aplicar para los controles de Visual Basic pero, si es en Visual Basic, mejor que mejor.

Ahora sí está todo correcto.
__________________
por Pip
  #4 (permalink)  
Antiguo 24/05/2004, 01:32
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Simplemente decir que puse para buscar en google:

"controles dinamicos" "visual basic" posicion

y lo primero y casi único (2 webs encontró) que salió fue mi propio post del foro. Quiero decir que es un tema que puede que sea absurdo (yo pienso que no) pero que no se explica en ninguna parte. No es que haya que explicar algo acerca de colocar controles (ya se sabe que tan solo hay que usar las propiedades top y left) porque forma parte de la programación, algo que debe idear el programador pero, al menos yo, no sé como solventar el problema que os he planteado.

Y de paso espero que este mensaje sirva para rescatar un poquito este post que empezaba a caer inevitablemente en el olvido.

Espero que me podais ayudar, gracias.
__________________
por Pip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:42.