vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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

VB.NET - Ein- und Umsteiger
Re: WPF: Kurven und Linien per Code Zeichnen 
Autor: Majuz
Datum: 03.07.11 02:14

Ich bins nochmal.
Hab mal etwas rumprobiert. Eine Linienkette zeichnen geht jetzt schon, aber ich bekomms nicht hin, dass nach nem rechtsklick ne neue Linie begonnen wird....
Mein Code der Klasse:

Public Class Path_Class
 
    Dim MyPath As New Path
    Dim MyPathGeo As New PathGeometry
    Dim MyPathFigColl As New PathFigureCollection
    Dim MyPathFig As New PathFigure
    Dim MyPathSegColl As New PathSegmentCollection
    Dim G As Grid
    Dim Figure_started As Boolean
 
    Public Property Gr As Grid
        Set(ByVal value As Grid)
            G = value
        End Set
        Get
            Return G
        End Get
    End Property
 
    Public ReadOnly Property Started As Boolean
        Get
            Return Figure_started
        End Get
    End Property
 
    Public Sub initialize()
        MyPath.Stroke = Brushes.Black
        MyPath.StrokeThickness = 1
        MyPath.Data = MyPathGeo
        MyPathGeo.Figures = MyPathFigColl
        G.Children.Add(MyPath)
    End Sub
 
    Public Sub newFigure(ByVal p As Point)
        MyPathFig = New PathFigure
        MyPathFigColl.Add(MyPathFig)
        MyPathFig.Segments = MyPathSegColl
        MyPathFig.StartPoint = p
        Figure_started = True
    End Sub
 
    Public Sub AddBezier(ByVal p1 As Point, ByVal P2 As Point, ByVal p3 As _
      Point)
        Dim Seg As New BezierSegment
        Seg.Point1 = p1
        Seg.Point2 = P2
        Seg.Point3 = P3
        MyPathSegColl.Add(Seg)
    End Sub
 
    Public Sub addLine(ByVal P As Point)
        Dim Seg As New LineSegment
        Seg.Point = P
        MyPathSegColl.Add(Seg)
    End Sub
 
    Public Sub EndFigure()
        Figure_started = False
    End Sub
End Class
Im Hauptfenster dann noch dieser Code:
Class MainWindow 
 
    Dim Pfad As New Path_Class
 
 
    Public Sub New()
 
        ' Dieser Aufruf ist für den Designer erforderlich.
        InitializeComponent()
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf 
        ' hinzu.
        Pfad.Gr = DrawGrid
        Pfad.initialize()
 
    End Sub
 
    Private Sub MainWindow_MouseLeftButtonDown(ByVal sender As Object, ByVal e _
      As System.Windows.Input.MouseButtonEventArgs) Handles _
      Me.MouseLeftButtonDown
        Dim p As Point
        Dim x As Integer
        Dim y As Integer
 
        x = e.GetPosition(Grid).X
        y = e.GetPosition(Grid).Y
        If x > DrawGrid.Margin.Left And x < (DrawGrid.Margin.Left + _
          DrawGrid.Width) And y > DrawGrid.Margin.Top And y < ( _
          DrawGrid.Margin.Top + DrawGrid.Height) Then
            p = e.GetPosition(DrawGrid)
            If Pfad.Started = True Then
                Pfad.addLine(p)
            Else
                Pfad.newFigure(p)
            End If
        End If
 
 
    End Sub
 
    Private Sub MainWindow_MouseRightButtonDown(ByVal sender As Object, ByVal e _
      As System.Windows.Input.MouseButtonEventArgs) Handles _
      Me.MouseRightButtonDown
        Pfad.EndFigure()
    End Sub
End Class
Kann mir jemand helfen, wo da mein Fehler liegt?
Vielen Dank!

Gruß
Marius
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
WPF: Kurven und Linien per Code Zeichnen3.284Majuz02.07.11 22:53
Re: WPF: Kurven und Linien per Code Zeichnen1.792Majuz03.07.11 02:14
Re: WPF: Kurven und Linien per Code Zeichnen1.656Majuz04.07.11 20:08

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