Balken-Diagramm einfach

Koordinaten: CurrentX, CurrentY
Private Sub Form_Load()
Me.Show
With Combo1
  .AddItem "Januar" Füllen der ComboBox Januar bis Dezember...
  .ListIndex = 0 Index beginnt bei Null
End With
Me.Move (Screen.Width - Me.Width) / 3, _ Formular in Bildschirmmitte
   (Screen.Height - Me.Height) / 3
Call drawBarGraph Aufruf der Hauptroutine
End Sub
Private Sub drawBarGraph()
Dim i%, mon$, oldFontSize%
  Me.Scale (-10, 120)-(130, -10) eigenes Koordinatensystem definieren
  oldFontSize = Me.FontSize alte Schriftgröße retten
  Me.Line (0, 0)-(0, 100) vertikale Achse zeichnen
  Me.Line (0, 0)-(120, 0) horizontale Achse zeichnen
  For i = 100 To 0 Step -10 Erste Schleife:
   Me.Line (-2, i)-(0, i) zeichnet vertikale Skala
   Me.CurrentX = -8 setzt Cursorposition
   Me.CurrentY = Me.CurrentY + 1.5
   Me.Print i zeichnet Beschriftung für vertikale Achse
  Next i
  For i = 10 To 120 Step 10 Zweite Schleife:
   Me.CurrentX = i - 8 setzt Druckposition der Monate
   Me.CurrentY = -2
   mon = Left$(Combo1.List((i - 10) \ 10), 3) holt erste drei Zeichen der Monate aus ComboBox
   Me.Print mon zeichnet Beschriftung für horizontale Achse
  Next i
    Me.CurrentX = 35 Horizontale Druckposition des Titels
    Me.CurrentY = 107 Vertikale Druckposition
    Me.FontSize = 12 Titelschrift vergrößern
    Me.Print "V e r k a u f s z a h l e n  " & Year(Date) Titel drucken
    Me.FontSize = oldFontSize alte Schriftgröße restaurieren
End Sub
Private Sub Form_Paint()
  Call drawBarGraph Aufruf der Hauptroutine
  Call balken
End Sub
Private Sub Form_Resize() Wenn sich die FormGröße ändert, werden alle Balken
Refresh (außer dem aktuellen Wert aus ComboBox / TextBox,
  Call zeichnen gelöscht
  Call balken
  If Me.Width < 8000 Then Me.Width = 8500
  If Me.Height < 5000 Then Me.Height = 5500
End Sub
Private Sub zeichnen() AutoRedraw = True für das Formular ist voreingestellt
  Me.Cls
  Me.AutoRedraw = True
  Call drawBarGraph Aufruf der Hauptroutine
  Call balken
End Sub
Private Sub Text1_Change() Wenn Stückzahl in Textbox geändert wird, dann:
  Call balken Subprogramm aufrufen
End Sub
Private Sub balken()
Dim x!, y!, i%
x = Combo1.ListIndex * 10 + 1 Monat übernehmen
y = Val(Text1.Text) Stückzahl übernehmen
Me.Line (x, 100)-(x + 9, 1), vbButtonFace, BF alten Balken löschen
 
If (y <= 100) And (y > 0) Then
  Me.Line (x, y)-(x + 9, 1), vbRed, BF neuen Balken zeichnen
End If
End Sub
Private Sub Combo1_Click() Monat in ComboBox auswählen, dann Fokus an die
  With Text1 TextBox zurückgeben
    .SelStart = 0
    .SelLength = Len(.Text)
    .SetFocus
  End With
End Sub

 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info