Crear controles y acomodarlos "dinámicamente"

Tus preguntas. Algoritmos o Grupos de Comandos formando Programas Escripts.
Responder
kemazonico
Aprendiz de Mago
Mensajes: 29
Registrado: 26 May 2007, 19:25

Crear controles y acomodarlos "dinámicamente"

Mensaje por kemazonico »

Hola, aqui como siempre solicitando su ayuda....
Tengo que hacer una interfaz la cual contenga digamos de 100 a 150 controles de un tipo (ya sean labels, botones, etc) aun no definido, la cantidad dependera de los "keys" alojados en un archivo ini, cada que ejecute el programa esta cantidad de registros sera distinta y tengo la idea que los controles se vayan creando en función de la cantidad de Keys contenidas en el ini....

No se si me explico, intento no tener que crear cada uno de los controles "a mano" y ocultarlos o mostrarlos en función de la cantidad.

Por ejemplo, si son 100 botones, que estos se acomoden segun el tamaño de la ventana, seria posible hacerlo "sin tantas complicaciones"?

Aqui un ejemplo con una ventana pequeña:
Imagen

Aqui un ejemplo con la ventana ampliada, los botones se acomodan al tamaño de la ventana
Imagen
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Crear controles y acomodarlos "dinámicamente"

Mensaje por Dany »

Hola. AutoIt no tiene nada predefinido para hacer lo que quieres. (Al menos no he visto nada similar)

Tendrás que hacerte tu propia función para ello. Probablemente seria algo así (pseudocódigo):

1.-Leer la cantidad de controles necesarios. (supongo que el tamaño de estos seria estático)
2.- Calcular el tamaño requerido para la ventana principal sin superar el ancho y alto del escritorio.
3.- Dividirlo en una matriz filas columnas.
4.- Si quieres que al re-dimensionar la interfaz los controles se muevan tendrias que crear tu propia funcion y integrarla quizas en el mensaje de windows WM_SIZE.


Espero haber ayudado un poco. no te muestro un ejemplo en código porque no tengo tiempo para programarlo. Suerte...

Saludos :smt027
  • ............................................Imagen
    ......................................Imagen
Responder