Hola de nuevo,
Estuve haciendo "negocios",
A ver... ¿y si lo complicamos un poquito? ¿Que te parece?


¿Quién no te impide tener en un orden i_ésimo la categoría de controles, y en un orden j_ésimo los diversos controles con sus medidas?
A ver si me explico mejor:
Por ejemplo, podemos asumir que:
i = 1 -> TEdit
i = 2 -> TLabel
i = 3 -> TButton
...
i = n -> TXxxxx
Y ahora, tener algo así:
valor J - Cantidad - Largo/Ancho
-------------------------------
I = 1. TEdit
-------------------------------
j = 1 -> 2 - 43/5
j = 2 -> 5 - 10/6
========================
i = 2. TLabel
-------------------------------
j = 1 -> 20 - 12/10
....
Con un esquema como éste se pueden conseguir cosas muy interesantes. Por ejemplo, podríamos hacer que algunos controles se muestren y oculten a demanda y hacer que los demás se reordenen

.
La fórmula vendría a ser algo como esto:
d = (DMax - Sum(i=1,n)(sum(j=1,m_i)(d_ij * c_ij)))/ sum(i=1,n)(sum(j=1,m_i)(c_ij))
Siendo:
m_i: la cantidad máxima de elementos para la categoría i_ésima
d_ij: el ancho o largo del componente j_ésimo de la categoría i_ésima
c_ij: la cantidad de componentes i_ésimo para el tamaño j_ésimo
Espero que se entienda la idea.
A ver si daño algunos cerebros


.
Saludos,