vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Kreis verschieben auf GDI 
Autor: sobi
Datum: 15.07.08 08:10

Willst du einen Kreis per Maus verschieben??

Dim WithEvents Pb As New PictureBox
 
 
Dim x_e_alt_kreis, y_e_alt_kreis As Integer
Dim run As Boolean                          'Wenn run = true ist, dann ist die 
' Maustaste gedrückt und der Inhalt wird verschoben
    Dim bKreis As Boolean  'Über welchem Element die Maus gedrückt wurde
 
    Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Pb.MouseClick
        If run Then
            run = False : bKreis = False 
        End If
    End Sub
 
    Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Pb.MouseDown
        run = False
        If e.X > p_mObenLinks.X - r And e.X < p_mObenLinks.X + r Then        _
             'Wenn die Maus über dem Kreis gedrückt wird
            If e.Y > p_mObenLinks.Y - r And e.Y < p_mObenLinks.Y + r Then
                run = True : bKreis = True
            End If
        End If
                'Mauswerte speichern wenn ein klick stattfindet. Werden in der 
                ' MouseMove - Sub bearbeitet
        x_e_alt_kreis = e.X - p_mObenLinks.X
        y_e_alt_kreis = e.Y - p_mObenLinks.Y
    End Sub
 
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.MouseEventArgs) Handles Pb.MouseMove
        If run = True Then
            If bKreis Then                                                      _
                          'Wenn über dem Kreis die Maus gedrückt wurde
                p_mObenLinks.X = e.X - x_e_alt_kreis                            _
                                   'Neue Werte werden, abhäning von der Maus, 
                ' gesetzt
                p_mObenLinks.Y = e.Y - y_e_alt_kreis
                x_e_alt_kreis = e.X - p_mObenLinks.X
                y_e_alt_kreis = e.Y - p_mObenLinks.Y
            End If
            If e.X > Me.ClientSize.Width Or e.Y > Me.ClientSize.Height Then
                run = False : bKreis = False
             End If
            If e.X < 0 Or e.Y < 0 Then
                run = False : bKreis = False 
            End If
            Pb.Invalidate()
        End If
    End Sub
Ist jetzt nur ein beispielcode, wie du das mit der Maus managen kannst.
LG - Simon
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Kreis verschieben auf GDI2.137Spider21614.07.08 21:41
Re: Kreis verschieben auf GDI892sobi15.07.08 08:10

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-2024 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