vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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 - Fortgeschrittene
Re: Rechteck auf PictureBox verschieben 
Autor: Kuno60
Datum: 17.07.18 20:54

So behält die Maus die angeklickte Position bei:
Option Strict On
 
Class Form1
 
  Dim Rect As New Rectangle(80, 45, 160, 90) 'Rechteck
  Dim Diff As Size 'angeklickte Differenz
  Dim DragRect As Boolean 'Maustaste gedrückt
 
  Private Sub PB1_MouseDown(sender As Object, e As MouseEventArgs) Handles _
    PB1.MouseDown
    If e.Button = MouseButtons.Left AndAlso Rect.Contains(e.Location) Then
      Diff.Width = e.X - Rect.X
      Diff.Height = e.Y - Rect.Y
      DragRect = True
    End If
  End Sub
 
  Private Sub PB1_MouseMove(sender As Object, e As MouseEventArgs) Handles _
    PB1.MouseMove
    If Rect.Contains(e.Location) Then
      Cursor.Current = Cursors.Hand
    Else
      Cursor.Current = Cursors.Default
    End If
 
    If Not DragRect Then Exit Sub
 
    ' Position berechnen
    Rect.Location = e.Location - Diff
 
    ' Rechteck begrenzen
    If Rect.X < 0 Then Rect.X = 0
    If Rect.Y < 0 Then Rect.Y = 0
    If Rect.X + Rect.Width > PB1.Width - 3 Then Rect.X = PB1.Width - 3 - _
      Rect.Width
    If Rect.Y + Rect.Height > PB1.Height - 3 Then Rect.Y = PB1.Height - 3 - _
    Rect.Height
 
    ' neu zeichnen
    PB1.Invalidate()
  End Sub
 
  Private Sub PB1_MouseUp(sender As Object, e As MouseEventArgs) Handles _
    PB1.MouseUp
    DragRect = False
  End Sub
 
  Private Sub PB1_Paint(sender As Object, e As PaintEventArgs) Handles PB1.Paint
    e.Graphics.DrawRectangle(Pens.Red, Rect)
  End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Rechteck auf PictureBox verschieben1.039Dikn17.07.18 11:20
Re: Rechteck auf PictureBox verschieben502Kuno6017.07.18 20:54
Re: Rechteck auf PictureBox verschieben414Dikn18.07.18 09:33

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