| Cómo crear tu propia barra de progreso
En tu formulario quizás tengas la necesidad de crear un
medidor de progreso gráfico, separado de la barra de estado
que puedes llamar usando la función "SysCmd" en
Access 2000. Una barra de progreso puede ser creada usando dos controles
de etiqueta (labels), directamente encima uno de otro sobre el formulario.
Aquí está el procedimiento:
Crea un control "label", con estilo "sunken"
(llamaremos a esto "lblbase", y establece el color de
fondo a transparente, y el color principal a negro.
Crea un control de etiqueta, con un ancho (width) de 0.00, idéntico
alto (height) a la baselbl (al cuál de ahora en adelante
llamaremos lblmeter); alinea el lblmeter exactamente con el borde
izquierdo del control, y envíalo al fondo (detrás
de lblbase). Designa sus bordes como transparentes.
Para actualizar el medidor de progreso inserta el siguiente código
en el módulo del formulario, y utiliza un evento "Timer"
para crear las llamadas en el código del bucle:
Sub updatemtr (currentamt, totalamount)
' This function changes the color based on progress.
' You set the back color of lblmeter to be a single color if desired.
Dim MtrPercent as Single
MtrPercent = currentamt/totalamount
Me!lblbase.Caption = Int(MtrPercent*100) & "%"
Me!lblmeter.Width = CLng(Me!lblbase.Width * MtrPercent)
Select Case MtrPercent
Case Is < .33
Me!lblmeter.BackColor = 255 'red
Case Is < .66
Me!lblmeter.BackColor = 65535 'yellow
Case Else
Me!lblmeter.BackColor = 65280 'green
End Select
End Sub
Podemos hacerlo también
de esta otra forma |