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 13.239 mal aufgerufen. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Buchempfehlung Tipp des Monats März 2024 Dieter Otter UTF-8 Konvertierung von Dateien und Strings VB6 selbst verfügt über keine Funktionen zur UTF-8 Konvertierung von Daten. Mit Hilfe des ADODB.Stream-Objekts lassen sich diese fehlenden Funktionen aber schnell nachrüsten. sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||
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. |