Buenas..
En fase de Diseño Creo un HorzScrollBox (aling = Client) que contiene un TRectangle (aling=left) con un TText.
Pretendo añadir y quitar a Voluntad Objetos TRectangles (como el generado en fase de diseño) al HorzScrollBox.
Ejecuto el codigo
Inicializo el HorzScrollBox:
Cita:
void InicHorzScrollBox()
{
//Asigno "1" al TTest de Rectangle
TNum->Text = "1";
//Creo "Lista Scroll" Horizontal de 10 Objetos Rectangle
NewListHorz(2);
}
|
Creo "Lista" Horizontal de 10 Objetos TRectangle como el creado en fase de Diseño
Cita:
void NewListHorz(int N)
{
TRectangle *Q;
int F = N+9;
while (N<F)
{
Q = static_cast <TRectangle*> (RQuiniela->Clone(0));
for (int i=0; i< Q->ChildrenCount; i++)
{
TText *T = dynamic_cast <TText*>(Q->Children->Items[i]);
if (T)
{
TNum->Text = IntToStr(N);
}
}
HorzScrollBox1->Content->AddObject(Q);
N= N+1;
}
}
|
Perfecto... me Genera un HorzScrollBox con 9 objetos TRectangles que sigen el orden de Izquierda a Derecha (TNum->Text) 1,2,3,4,5,6,7,8,9,10
A continuación elimino los 9 objetos TRectangle generados anteriormente:
Cita:
void DelObjets()
{
int n= HorzScrollBox1->Content->ChildrenCount-1;
for (int i=1; i<=n;i++)
{
HorzScrollBox1->Content->RemoveObject(1);
Application->ProcessMessages();
}
}
|
Me los elimina perfectamente (o eso creo) solo se muestra el TRectangle original (creado en fase diseño).
El siguiente paso es generar otros 9 Objetos cuyos TNum->Text ira del 11 al 20:
Cita:
TNum->Text = "11";
NewListHorz(12)
|
Genera de nuevo 9 objetos TRectangles pero esta vez el orden que sigue de Izquierda a Derecha es 11,20,19,18,19,17,16,15,14,13,12 (el que debería ser el primero en la "Lista scroll" generada es el ultimo)
No lo entiendo Alguien me puede ayudar, Gracias.