ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
7592
7592
EMPFEHLEN
-
21.08.05 14:09 #1
- Registriert seit
- Mar 2005
- Beiträge
- 147
Hallo
Ich versuche gerade ein Prozessleitsystem zu simulieren, mit Behältern, Pumpen, Ventilen usw. Nun möchte ich die Bauteile, die ich mit Fireworks gezeichnet habe, mit Linien verbinden. Könnte mir mal jemand sagen, wie ich am Einfachsten Linien zeichnen kann, oder mir sagen wo ich ein Tutorial, oder Beispiel finde? Ich habe schon mal was gesehen, nur kann ich es nicht mehr finden.
Gruß
Christoph
-
GDI+ ist das Zauberwort.
Unter den Tutorials gibt es eines (http://www.tutorials.de/tutorials155061.html), das sich mit diesem Thema beschäftigt. Die Codebeispiele sind zwar in C#, aber alleine durch das Lesen des Textes weißt du was du machen musst.
Ansonsten solltest du mit GDI+ als Suchwort im Google jede Menge Tutorials und Artikel finden.
-
21.08.05 16:38 #3
- Registriert seit
- Mar 2005
- Beiträge
- 147
Oh, ich denke das ich dann die ganze Oberfläche mit Fireworks mache und diese dann mit einer Picturebox importiere. So braucht man ja ewig um die Linien dahin zubekommen, wo sie hin sollen. Oder ist das keine gute Lösung?
Gruß
Christoph
-
Da kann ich dir keine Antwort darauf geben. Ich weiß ja nicht ob dein Tool da dynamisch oder statisch sein soll etc.
Und eine Linie zu zeichnen is nun wohl wirklich nicht der Aufwand.
-
21.08.05 17:09 #5
- Registriert seit
- Mar 2005
- Beiträge
- 147
Das Tool wird dann wohl zwangläufig statisch
Es werden aber deutlich mehr als nur eine Line und Winkel kommen auch noch dazu.
Gruß
Christoph
-
13.09.05 02:06 #6
- Registriert seit
- Mar 2005
- Beiträge
- 147
So mache ich das:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black, 3) Dim formGraphics As System.Drawing.Graphics formGraphics = Me.CreateGraphics() formGraphics.DrawLine(myPen, 373, 249, 373, 355) 'Dieser teil erstellt einen gestrichelten Stift '----------------------------------------------- Dim myPen3 As New System.Drawing.Pen(System.Drawing.Color.Black, 1) e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias myPen3.DashStyle = Drawing2D.DashStyle.Dash formGraphics.DrawLine(myPen, 373, 249, 373, 355) '----------------------------------------------- End Sub
-
28.09.05 13:27 #7
- Registriert seit
- Mar 2005
- Beiträge
- 147
So, da das zeichnen per Code doch recht mühsam ist, habe ich nun meine Linie in ein UserControl gepackt. Einfach folgenden Code in ein UC kopieren und dann könnt ihr eure Linien einfach aufs Form setzen und beliebig verändern.
Der Code ist für eine horizontale Linie:
Code :1 2 3 4 5 6 7 8 9 10
Private Sub ucLinie_OnPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Dim X As Integer = Me.Width Dim Stiftbreite As Integer = 4 Me.Height = Stiftbreite - 1 Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black, Stiftbreite) e.Graphics.DrawLine(myPen, 0, 2, X, 2) End Sub
Dieser für eine vertikale Linie:
Code :1 2 3 4 5 6 7 8 9 10
Private Sub ucLinieVertikal_OnPaint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint Dim X As Integer = Me.Height Dim Stiftbreite As Integer = 4 Me.Width = Stiftbreite - 1 Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black, Stiftbreite) e.Graphics.DrawLine(myPen, 2, 0, 2, X) End Sub
Ich werde mir auch noch was überlegen, wie man das mit einem UC lösen kann.
Gruß
Christoph
Ähnliche Themen
-
Linie Zeichnen
Von Saban im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 20Letzter Beitrag: 28.03.09, 12:34 -
Linie zeichnen?
Von Jacizzle im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 17.04.08, 23:06 -
Linie zeichnen
Von cytrics im Forum Flash PlattformAntworten: 2Letzter Beitrag: 09.05.07, 10:44 -
Linie zeichnen
Von darko-micic im Forum C/C++Antworten: 9Letzter Beitrag: 13.04.05, 21:22 -
Linie Zeichnen
Von Danjal im Forum Flash PlattformAntworten: 7Letzter Beitrag: 30.03.05, 22:07





Zitieren
Login





