Sección de controles Ocx para Visual basic , Dll , Activex
<Volver> - Anterior - Siguiente
Ejemplo
En realidad el formulario para mostrar el progreso, no se visualiza en forma Modal con el párametro vbModal del método Show de los formularios
UnForm1.Show vbModal
.. pero es similar, ya que al llamar al form que actúa como barra de progreso, se deshabilita el formulario que lo utiliza, es decir el que lo llama, y hasta que no se termine de ejecutar el progreso o se cancele mediante el método Terminar , no se puede volver al form principal
Si bien en el zip de descarga tiene un ejemplo para usar el módulo, detallo como usarlo
Antes que nada , hay que crear una instancia del módulo, por ejemplo :
Set obj = New Class1
Luego de creada la instancia, se pueden establecer algunas propiedades opcionales, como por ejemplo el BackColor del progreso y de la barra, el color del caption que visualiza el porcentaje y algunas otras
obj.ColorPercent = vbWhite
obj.TextoProgreso = True
obj.ProgressColor = vbBlue
obj.BackColor = vbBlack
Antes de comenzar a usarlo para medir un proceso , se debe obligatoriamente ejecutar el método Init e indicar dos párametros que son los siguientes
obj.Init Me, FrmProgreso
El primer parámetro es el formulario que usa el módulo, es decir el form actual y siempre se va a enviar la palabra Me para hacer referencia a nuestro form.
El otro parámetro, es el form que se usa para la barra. Este form es un form vacio, es decir sin ningún control y sin código
Luego de indicar lo anterior, ya se puede establecer el valor máximo y el valor mínimo, y una ves que se asigna el value:
Obj.Value = Valor
.. automáticamente ya se despliega el formulario.
Una ves que se llega al máximo del progreso, el form que hace de progress, finaliza y se descarga. Pero tener en cuenta que si se desea salir del proceso por x motivo, se debe ejecutar obligatoriamente el método " Terminar " en el momento que se desee, y de esta forma se podrá descargar dicho form, y volver a habilitar el formulario principal
obj.Terminar
Nota :Si se quiere dentro de un mismo procedimiento o función, medir mas de un proceso, cada ves que se desee mostrar la barra, se debe ejecutar obligatoriamente el método Init, por ejemplo si voy a medir dos procesos podria ser asi
' Proceso 1 ''''''''''''''''''''''''''''''''''''''''''''' Call obj.Init(Me, FrmProgreso) obj.Max = 10000 obj.Min = 0 For i = obj.Min To obj.Max ' muestra el progreso obj.Value = i Next '....Fin de proceso 1
Ahora el segundo proceso volviendo a ejecutar init y estableciendo el máximo y mínimo valor
' Proceso 2 ''''''''''''''''''''''''''''''''''''''''''''' Call obj.Init(Me, FrmProgreso) obj.Max = 50000 obj.Min = 0 For i = obj.Min To obj.Max ' muestra el progreso obj.Value = i Next
Por último descargar el módulo y ejecutar el método Terminar
'termina y descarga el form de Progreso
obj.Terminar
Nota importante: siempre colocar una rutina de error, por las dudas de que se produzca uno, para ejecutar le método Terminar y de esta forma descargar el form de progreso y poder reestablecer el form principal.
Buscar en Recursos vb con Google
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar