Progressbar in Statusbar einfügen Verfasst am: 18.06.2009, 11:05
Name:SetProgressBar Funktion:Fügt eine Progressbar in ein Panel der Statusbar ein.
So. Falls jemand nicht weiß wie man eine Progressbar so schön in eine Statusbar bekommt, so dass sie beim verändern der Form auch immer schön an seinem Platz bleibt, dann sollte er sich mal den source hier ansehen.
Benötigte Api: Visual Basic: [code] Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long [/code]Sub: Visual Basic: [code] Private Sub SetProgressBar() 'Progressbar in Statusbar setzen With Progressbar1 Call SetParent(.hWnd, Statusbar1.hWnd) .Top = 75 .Left = stbar.Panels(1).Left + 10 .Width = stbar.Panels(1).Width - 40 .Height = stbar.Height - 125 End With End Sub [/code] Die Größe etc. könnt ihr dann noch selbst einstellen, oder ihr verbessert die Sub evt. noch.
Noch was wichtiges ist, wie man sie einsetzt. Normal sollte es reichen die Funktion in Form_Resize aufzurufen und das funktioniert auch eigentlich. Nur wenn man den Maximize Button auf der Form nutzt funktioniert es nicht richtig.
Am besten macht ihr euch einen Timer, der normal auf False steht und einen 50, 100 oder 200 Millisekunden Intervall hat. In diesen schreibt ihr den Sub Aufruf und das er sich selbst dann wieder auf false stellt.
In Form_Resize schreibt ihr dann einfach am Ende Timer1.Enabled = True.
So wird das Resize Event komplett durchgeführt und erst danach die Progressbar gesetzt.