| home |  
  

   © 2005 by Friedel Schmidt •  E-Mail  •                      Top  

   | impressum | feedback | home |  


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 LongAs 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