Inhaltsverzeichnis
Suchen
Links
|
|
Fortschrittsleiste 3D realisieren
Versionen: Excel 97
Original übernommen aus einem Spotlight - Excel-Forums - Beitrag
Sozusagen taufrisch aus Lordchens Softwareküche in Excel VBA entsprungen:
Eine 3D-Fortschrittsleiste in VBA realisieren!
Testumgebung:
Eine Userform ins Projekt einfügen
Ein Label, wird als frBackground bezeichnet.
Eigenschaften von frBackground:
Caption = ""
SpecialEffect = 1
Top = 54
Left = 9
Width = 220.5
Height = 20,25
Sonst keine Änderungen.
Ein Label wird auf frBackground gezogen und als frLeiste bezeichnet.
Eigenschaften von frLeiste:
Caption = ""
SpezialEffect = 2
Top = 56,25
Left = 11,25
Width = 216
Height = 15,75
Backcolor = &H00800000&
Ein Label wird genau in die Mitte von frBackround gezogen und als txtcounter bezeichnet:
Eigenschaften von txtcounter:
Caption = ""
Forecolor = &H8000000F&
TextAlign = 2
Eine Schaltfläche wird hinzugefügt, womit die Leiste gestartet werden soll.
In die UserForm1 wird folgende Code eingefügt:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CommandButton1_Click()
Dim b As Long
frLeiste.Width = 0
Do While b < frBackground.Width - 5
DoEvents
Sleep 50
b = b + 1
txtcounter.Caption = frLeisteSchritt(b)
DoEvents
Loop
End Sub
Private Function frLeisteSchritt(ByVal nWert As Long) As Integer
frLeiste.Width = nWert
frLeisteSchritt = Int(((nWert + 5) * 100) / frBackground.Width)
End Function
Effect: Die Fortschrittsleiste steigert sich alle 50 Millisekunden, wobei in der Mitte flimmerfrei ein Prozentwert angezeigt wird (böse Zungen behaupten, das kriegt nicht mal Microsoft hin).
Viel Spaß beim probieren
Geschickt von CyberLord am 21.04.2001 um 14:56:39
|