| |
VB.NET - Ein- und UmsteigerDreieck zeichnen | | | Autor: mullfreak | Datum: 23.09.08 21:20 |
| Hallo,
ich will ein Dreieck zeichen, mit dem ich eine Achse mit der Maus "mitziehen" kann. Hier mal mein bisheriger Code:
Public Class Form1
Private Sub Form1_Click(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles Me.Click
Invalidate()
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
Dim g As Graphics = CreateGraphics()
Dim p As Pen = New Pen(BackColor, 0)
Dim ptMitte As New PointF(CSng(ClientSize.Width / 2), CSng( _
ClientSize.Height / 2))
Static ptmaus As New PointF
' Löschen
g.DrawLine(p, ptMitte, ptmaus)
' Lote
g.DrawLine(p, ptmaus, New PointF(ptMitte.X, ptmaus.Y))
g.DrawLine(p, ptmaus, New PointF(ptmaus.X, ptMitte.Y))
' Sichtbar zeichnen
ptmaus.X = CSng(e.X)
ptmaus.Y = CSng(e.Y)
p.Color = Color.Red
g.DrawLine(p, ptMitte, ptmaus)
' Lote
p.Color = Color.Green
g.DrawLine(p, ptmaus, New PointF(ptMitte.X, ptmaus.Y)) ' Strich ist
' oben, muss nach unten
g.DrawLine(p, ptmaus, New PointF(ptmaus.X, ptMitte.Y))
End Sub
End Class Das Problem ist jetzt, das der untere Strich des Dreiecks oben ist und nicht unten.
Siehe Kommentar im Code!!!
Wie kriege ich den Strick nach unten?
Gruß
Mull 0 | |
Re: Dreieck zeichnen | | | Autor: GPM | Datum: 23.09.08 23:46 |
| Public Class Form1
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
Static ptmaus As New Point
Using g As Graphics = CreateGraphics(), p As New Pen(BackColor)
Dim ptMitte As New Point(ClientSize.Width / 2, ClientSize.Height / _
2)
g.DrawLine(p, ptMitte, ptmaus)
g.DrawLine(p, ptmaus.X, ptMitte.Y, ptMitte.X, ptMitte.Y)
g.DrawLine(p, ptmaus, New Point(ptmaus.X, ptMitte.Y))
ptmaus = e.Location
g.DrawLine(Pens.Red, ptMitte, ptmaus)
g.DrawLine(Pens.Green, e.X, ptMitte.Y, ptMitte.X, ptMitte.Y)
g.DrawLine(Pens.Blue, ptmaus, New Point(ptmaus.X, ptMitte.Y))
End Using
End Sub
End Class MfG GPM
PS
Wenn du statt mit CreateGraphics im PaintEvent zeichnest wird das alte
Dreieck automatisch gelöscht und du kannst auch AntiAlias verwenden.
Schräge Linien sehen dann besser aus. 0 | |
Re: Dreieck zeichnen | | | Autor: mullfreak | Datum: 24.09.08 00:10 |
| Hallo,
vielen Dank. Hat mir sehr gut geholfen.
Jetzt muss ich die einzelnen Linien noch beschriften und je nach Größe soll die Beschriftung immer zentriert sein.
Dazu habe ich aber bis jetzt noch keine Idee wie ich das machen soll.
Gruß
Mull 0 | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|