vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: circle ??? 
Autor: SvenZ
Datum: 08.12.10 14:10

im Momemt mach ich das mit zwei Line Controls. Aber da kann ich eben die Liniendicke nicht ändern, das ist ja das Problem. Wenn ich's mit der Lini Methode male. hab ich zwar die Liniendicke im Griff (z.Bsp. Form1.DrawWidth = 3). Wenn ich aber die Linie neu malen will, also beim Bewegen der Zeiger mit der Maus muß ich ich alles erst mit me.cls weglöschen und neumalen incl. aller statischen Elemente, die ich vorher mit me.circle ..... hingemalt hab (also die Umrisse der Uhr selbst).
Das sieht im Moment so aus:

Private Sub Form_Load()
Dim radius1, radius2 As Integer
Dim c As Integer
Dim Wnk, i, j As Double
Static Pos1&
 
radius1 = 200
radius2 = 150
erststart = True
AutoRedraw = True
Me.ScaleMode = vbPixels
Form1.DrawWidth = 3
Pi = 4 * Atn(1)
 
' die beiden Zeiger platzieren
Line1.X1 = Round(Me.ScaleWidth / 2, 0)
Line1.Y1 = Round(Me.ScaleHeight / 2, 0)
Line1.X2 = Round(Me.ScaleWidth / 2 + radius1, 0)
Line1.Y2 = Round(Me.ScaleHeight / 2, 0)
 
Line2.X1 = Round(Me.ScaleWidth / 2, 0)
Line2.Y1 = Round(Me.ScaleHeight / 2, 0)
Line2.X2 = Round(Me.ScaleWidth / 2 + radius2, 0)
Line2.Y2 = Round(Me.ScaleHeight / 2, 0)
 
Label1.Caption = Line1.X2
Label2.Caption = Line1.Y2
Label11.Caption = Line2.X2
Label12.Caption = Line2.Y2
 
' die Uhr selbst
Circle (Me.ScaleWidth / 2, Me.ScaleHeight / 2), radius1
Me.FillStyle = 0
 
'kleine Kreise für die ganzen Stunden
For c = 0 To 370
  Wnk = Pi / 180 * Pos1
 
  i = Me.ScaleWidth / 2 + radius1 * Cos(Wnk)
  j = Me.ScaleHeight / 2 + radius1 * Sin(Wnk)
 
  If Pos1 = 0 Or Pos1 = 90 Or Pos1 = 180 Or Pos1 = 270 Then
        Circle (i, j), 6
  End If
  If Pos1 = 30 Or Pos1 = 60 Or Pos1 = 120 Or Pos1 = 150 Or Pos1 = 210 _
  Or Pos1 = 240 Or Pos1 = 300 Or Pos1 = 330 Then
        Circle (i, j), 2
  End If
  Pos1 = (Pos1 + 1) Mod 360
Next c
End Sub
Ich muß dann wohl alles neumalen, oder? Kommt es da nicht zum Flackern?

mit freundlichen Grüßen
Sven

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
circle ???1.605SvenZ03.12.10 18:28
Re: circle ???1.175Zardoz03.12.10 18:38
Re: circle ???1.222SvenZ04.12.10 11:08
Re: circle ???1.150Zardoz04.12.10 13:12
Re: circle ???1.172SvenZ04.12.10 13:39
Re: circle ???1.127Zardoz04.12.10 13:45
Re: circle ???1.185SvenZ04.12.10 14:18
Re: circle ???1.147Zardoz04.12.10 14:37
Re: circle ???1.121SvenZ04.12.10 14:51
Re: circle ???1.117Zardoz08.12.10 00:00
Re: circle ???1.099SvenZ08.12.10 14:10
Re: circle ???1.109Zardoz08.12.10 14:37
Re: circle ???1.250SvenZ08.12.10 15:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel