Hola Diavolo!
Mira en primer lugar quisiera aconsejarte una pag en la q encontrarás un manual de VB muy completo:
www.jrubi.com. Me permito esta licencia ya que lo que preguntas se puede encontrar en cualquier manual de los más sencillitos.
De todas formas, unas indicaciones, este objeto tiene unas propiedades, que controlan el valor máximo el mínimo que pueden tener y el valor actual. Las cuestión es que juegues con ellas para obtener lo deseado. (Nota: no recuerdo si es con este control o no, pero si ves que no se actualiza al cambiar el valor de la barra de progreso, fuerza a que se vuelva a dibujar el control con el método Refresh).
Ahora queda lo más propio de la aplicación: i.e.: a que parte del proceso de carga asignas que porcentaje. Puedes hacerlo uniformemente o de cualquier otra manera. Puedes incluso medir el tiempo que tarda en cargar cada parte del programa y actualizar el valor después de cada parte. Me explico
supongamos que tienes
Private Sub Form1_Load()
CargarArchivoIni
CargarImagenes
End Sub
y que Cargar el archivo ini te lleva 2 segundos mientras que cargar todas las imagenes te lleva 8. Supongamos tb que lo expresaras en tanto por ciento y que has hecho una función que actualiza la barra de progreso al tanto porciento que le pasas.
Lo de antes quedaría:
Private Sub Form1_Load()
CargarArchivoIni
ActBar 20 ' 20%
CargarImagenes
ActBar 80 ' 80% restante
End Sub
Sólo decirte q todo esto es mejorable y desearte suerte