vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2019
 
zurück
Rubrik: Allgemein15.06.03
Steuerelemente zur Laufzeit verschieben

VB-Version:  VB5, VB6
 Views:  11.893 

Wie kann man Steuerelemente zur Laufzeit verschieben? Diese Frage tauchteauch schon ein paar Mal auf. Mal sollten die Steuerelemente nur waagrecht odersenkrecht verschoben werden können, mal sollten sie frei positionierbar sein. Hier ein Beispiel mit CommandButtons. Sie benötigen eine Form, auf der sichdrei CommandButtons befinden: Command1, Command2 und Command3. Command1 solltefrei positionierbar sein, Command2 sollte nur auf einer waagrechten Linie undCommand3 auf einer senkrechten Linie verschiebbar sein.

Und hier der Code:

Option Explicit
 
Private XPos As Single
Private YPos As Single
 
' Command1 frei positionierbar
Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
 
  ' Ausgangskoordinaten der Maus speichern
  XPos = X
  YPos = Y
End Sub
 
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
 
  ' Button verschieben, wenn Maustaste gedrückt
  If Button = vbLeftButton Then
    Command1.Move Command1.Left + X - XPos, Command1.Top + Y - YPos
  End If
End Sub
 
' Command2 nur waagrecht verschiebbar
Private Sub Command2_MouseDown(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
 
  ' Ausgangskoordinaten der Maus speichern
  XPos = X
End Sub
 
Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
  ' Button verschieben, wenn Maustaste gedrückt
  If Button = vbLeftButton Then
    Command2.Left = Command2.Left + X - XPos
  End If
End Sub
 
' Command3 nur senkrecht verschiebbar
Private Sub Command3_MouseDown(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
 
  ' Ausgangskoordinaten der Maus speichern
  YPos = Y
End Sub
 
Private Sub Command3_MouseMove(Button As Integer, Shift As Integer, _
  X As Single, Y As Single)
 
  ' Button verschieben, wenn Maustaste gedrückt
  If Button = vbLeftButton Then
    Command3.Top = Command3.Top + Y - YPos
  End If
End Sub

Geht natürlich auch mit anderen Steuerelementen. Probieren Sie es einfach mal aus.

Diese Seite wurde bereits 11.893 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2019 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