Line

hi

wie kann ich eine Line langsam immer länger machen, mit dem timer* könnte es man machen aber das braucht ja sehr viele!!!

gruss beni

*
Timer1.Y2 = 4800
Timer1.Y2 = 5000
Timer1.Y2 = 5200

Hallo.

Timer1.Y2 = 4800
Timer1.Y2 = 5000
Timer1.Y2 = 5200

Bind den Senf doch in eine Schleife ein :

For LineLeng = 4800 To 6000 Step 200

quakquakquak

Next

oder habe ich Dich falsch verstanden?

Gruß kw

hi

wie kann ich dass genau machen???

gruss bin nicht profi

Hallo.

Sub Form_Click ()
Dim CX, CY, F, F1, F2, I ’ Variablen deklarieren
ScaleMode = 3 ’ ScaleMode auf Pixel setzen.
CX = ScaleWidth / 2 ’ Horizontale Mitte berechnen.
CY = ScaleHeight / 2 ’ Vertikale Mitte berechnen.
DrawWidth = 8 ’ DrawWidth setzen.
For I = 50 To 0 Step -2
F = I / 50 ’ Zwischenberechnungen
F1 = 1 - F: F2 = 1 + F ’ durchführen.
Forecolor = QBColor(I Mod 15) ’ Vordergrundfarbe einstellen.
Line (CX * F1, CY * F1)-(CX * F2, CY * F2), , BF
Next I
DoEvents ’ Steuerung abgeben.
If CY > CX Then ’ DrawWidth setzen.
DrawWidth = ScaleWidth / 25
Else
DrawWidth = ScaleHeight / 25
End If
For I = 0 To 50 Step 2 ’ Schleife einrichten.
F = I / 50 ’ Zwischenberechnungen
F1 = 1 - F: F2 = 1 + F ’ durchführen.
Line (CX * F1, CY)-(CX, CY * F1) ’ Oben links zeichnen.
Line -(CX * F2, CY) ’ Oben rechts zeichnen.
Line -(CX, CY * F2) ’ Unten rechts zeichnen.
Line -(CX * F1, CY) ’ Unten links zeichnen.
Forecolor = QBColor(I Mod 15) ’ Farbe jedes Mal ändern.
Next I
DoEvents ’ Steuerung abgeben.
End Sub

Schau Dir mal die For-Next-Schleifen in diesem Beispiel an. Der fortlaufend erhöhte Wert erhöht die Länge der zu zeichnenden Linien. In diesem Falle erhältst Du Rechtecke; für eine einfache Linie benötigst Du natürlich nur einen Startpunkt (x/y) und eine Längenangabe.

Gruß kw

einfacheres Beispiel
Servus

Hier kommt ein etwas einfacheres Beispiel:

Private Sub Timer1\_Timer()
 timer1,interval = 250 ' Diese Prozedur soll alle 250 Millisekunden (also 4 Mal pro Sekunde) durchgeführt werden.
 Line1.Y2 = Line1.Y2 + 200 ' Linie um 200 Pixel nach unten verlängern
 If Line1.Y2 \> 9000 Then ' bei 9000 Pixel aufhören,
 Timer1.Enabled = False ' um nicht über den Rand des Form's hinauszukommen
 End If
End Sub

Zuammenfassung:
Dieses Beispiel verlängert also die Linie Line1 alle 250 Millisekunden um 200 Pixel nach unten, bis der untere Endpunkt der Linie den Wert 9000 überschritten hat.

Ciao
Roland

Danke für beide!