Hallo Werner,
also das alles bringt uns hier nicht weiter. Unter VB kannst du sagen wir mal zu 99% alles realisieren. Es ist halt nur eine Frage des Weges.
Du schreibst das du dir die prgressbar selbst gebastelst hast.
Ok ist schoen, aber du hast sicher ne menge quelltext geschrieben um das zuu erzielen.
Viel Quelltext = Längere Zeit der Verabeitung = Performanceverlust 
Wenn ich dich richtig verstanden habe, willst du eine Progressbar in die Statusleiste haben, mit prozentanzeige?
Dazu willst du dann von den 9 Schaltflächen ein paar Ausblenden und dafür dann die Progressbar einblenden.
Ok, warum machst du dir das so schwer.
Erstelle mal fix nen neues Projekt und kopiere dir dann den quelltext darein. Setze dazu die elemente wie besagt auf die Form und schaue dir das mal an.
Du wirst sehen das dein Vorhaben sehr leicht realisierbar ist und du dazu auch nicht viel quelltext brauchst.
Wenn dir das zusteht dann bastel am besten dein projekt nochmal um, denn sonst kommst du in Teufelskueche 
Also erstelle mal eine Form.
Darauf packst du eine Schaltfläche „Command1“ mit der Beschriftung „Einblenden und Füllen“
Dann machst du noch eine Schaltfläche drauf „Command2“ mit der Beschriftung „Ausblenden“
Dann packst du dort noch eine Statusbar drauf „Statusbar1“
In der Statusbar machst du nun 10 Schaltflächen hin!
Die 1 „Button1“ , Die 2 „Button2“ die 3 nennst du „PBar“ und setzt da die eigenschaft Visible auf false ( also haeckchen raus)
Die Schaltflächen gibst du den namen "Button4 etc … Button9
Dann lade dir aus dem Internet von
http://www.vbarchiv.net/download/download_detail.php…
das MB Progressbar OCX runter und setze in der Form ein Verweis darauf.
Diese progressbar stellst du dann wiefolgt ein. (rechtsklick auf das control und dann eigenschaften)
Haeckchen bei Smooth rein
Die Farben kannst du dir anpassen so wie du magst 
bei dem eintrag „TextAfterCaption“ schreibst du " %" also ohne die " einfach nur ein Leerzeichen und dann das % Zeichen hin 
Bei Max schreib mal eine 100 hin … also max 100 Fortschritte 
Dieses Control kann weitaus mehr aber wir wollen ja das machen was du vorhast 
Dann stellst du noch die visible Eigenschaft auf False ( also nicht sichtbar)
Dann mache noch einen timer drauf der fuellt nur die progressbar.
Die enable Eigenschaft setzt du auf false und den intervall auf 500
Wenn du später mal den Button Einblenden drueckst, so werden die Grundflächen 2 + 3 bis 8 ausgeblendet und die progressbar eingeblendet. bei Klcik auf Ausblenden werden wieder alle 9 Schaltflächen eingeblendet und die progressbar aus .
Es ist nur zum Demozweck Werner, schaue dir mal den Quelltext an und du wirst sehen wie man das anstellt und kannst das dann für dich übernehmen 
So nun kopierst du dir folgendes Quelltext in die Form damit alles Funktioniert 
Option Explicit
Private Declare Function SetParent Lib "user32" ( \_
ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
'Ein Kleiner Tipp, wenn du Schaltfläche 3 einrichtest dann kannst du sie sehr breit machen.
'Sobald du die Eigenschaft visible auf False setzt, ist sie weg und nimmt den platz net mehr weg
'Und du hast den Vorteil das sie dann später beim einblenden so breit angezeigt wird :wink:
'Bei den Bemerkungen ist SF = Schaltfläche :smile:
Private Sub Command1\_Click()
On Error Resume Next
With StatusBar1
.Panels(2).Visible = False 'SF 2 ausblenden
.Panels(3).Visible = True 'SF 3 einblenden
ProgressBar1.Visible = True 'progressbar einblenden
ProgressBar1.Top = 60 'Progressbar ausrichten ( höhe)
ProgressBar1.Left = StatusBar1.Panels(3).Left 'Progressbar ausrichten ( wo beginnt sie)
ProgressBar1.Width = StatusBar1.Panels(3).Width 'Progressbar ausrichten ( wie breit ist sie)
ProgressBar1.Height = StatusBar1.Height - 90 'Progressbar ausrichten (gesamthoehe)
.Panels(4).Visible = False 'SF 3 ausblenden -\> hat index = 4 weil die 3 schon die progressbar belegt :smile:
.Panels(5).Visible = False 'SF 4 ausblenden
.Panels(6).Visible = False 'SF 5 ausblenden
.Panels(7).Visible = False 'SF 6 ausblenden
.Panels(8).Visible = False 'SF 7 ausblenden
.Panels(9).Visible = False 'SF 8 ausblenden
End With
Timer1.Enabled = True 'Timer einschalten und die Progressbar füllen :smile:
End Sub
Private Sub Command2\_Click()
On Error Resume Next
Dim i As Byte
Timer1.Enabled = False 'Timer1 abschalten
For i = 1 To StatusBar1.Panels.Count 'Durchlauf aller SF in der Statusbar1
If i 3 Then StatusBar1.Panels(i).Visible = True 'Wenn es sich nicht um die 3 SF handelt dann einblenden
Next i
StatusBar1.Panels(3).Visible = False 'SF 3 ausblenden
ProgressBar1.Visible = False 'progressbar1 ausblenden
End Sub
Private Sub Form\_Load()
On Error Resume Next
Call SetParent(ProgressBar1.hWnd, StatusBar1.hWnd) 'Progressbar in die Statusleiste einsetzen
End Sub
Private Sub Timer1\_Timer()
On Error Resume Next
With ProgressBar1
If .Value = 100 Then 'Wenn Wert der progressbar gleich 100 ( Max) ist dann
.Value = 0 'Wieder auf 0 setzen!
Else 'ansonsten
.Value = .Value + 1 'Einen balken mehr anzeigen :smile:
End If
End With
End Sub
Wie du siehst Werner ist es ein geringer Aufwand das zu bewerkstelligen
und du kannst mit dieser Variante noch vieles mehr erreichen 
Falls du noch fragen hast dann poste einfach 
MFG Alex