SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Sandra_mad en Martes 15 de Junio de 2004, 10:59
-
Hola a todos, ando dandole vueltas a un problemilla y no encuentro solucion; Vereis, quiero ver la evolucion de un programa mediante una barra de control; Pues bien, no consigo verlo en una franja, siempre vuelve otra vez al principio y se para en la mitad, cuando yo kiero ke coincida el final del programa con el final de la barra, camos, lo logico; tengo puesto esto:
Longitud es de tipo long, pues es un numero amplio;
Pongo 39 porque son el numero de cudraditos que tienen mi barra de control;
Lo que hago es indicar el rango, entre 0, y esa longitud;
Y como para esa longitud quiero tener rellenos los 39 cuadraditos, para un cudradito tienen que haber pasado longitud/39 veces; Cuando haya pasado esas veces, relleno un cuadro, y si no sigo decrementando;
m_Progreso.SetRange (0, longitud);
avance = longitud / 39;
distancia=avance;
while(longitud--)
{
if (avance == 0)
{
m_Progreso.SetStep(1);
avance = distancia;
}
else
avance--;
m_Progreso.StepIt();
}
Pero no me funciona, y no veo el por que esta mal, supongo ka habra formas mas elegantes de hacerlo, si alguien me puede echar una mano, me hara un gran favor; Muchas gracias;
-
No sería más fácil hacer esto?
for (int x = 0;x < 39;x++)
{
m_Progreso->Position = x;
}
:ph34r: :comp: :hola:
-
Gracias por contestar, de todas formas, creo que Position no es funcion miembro de CProgressCtrl, de todas formas, asi iria avanzando una posicion cada vez, y yo no es eso lo ke busco, yo kiero ke avance una posicion cada tantas veces ke se ejecuta otra cosa; De todas formas, supongo ke aunke no es muy estetico lo ke tengo hecho esta bien, el fallo debe ser en el uso de las funciones; pero cuando debe avanzar creo ke esta bien;
-
Este mensaje no tiene que ir acá si usas CProgressCtrl, eso es de la MFC...
Podes usar SetPos() entonces.
:ph34r: