Möchten Sie dem Anwender die Möglichkeit geben, Steuerelemente zur Laufzeit verschieben zu können? Sofern das Control ein MouseMove-Ereignis besitzt, was ja bei fast allen Controls der Fall ist, fügen Sie einfach nachfolgende Codezeile in das jeweilige MouseMove-Ereignis ein: Private Sub Control_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MoveControl Control, Button, Shift, X, Y End Sub Die dazugehörige Prozedur MoveControls fügen Sie am besten in ein Modul: Public Sub MoveControl(oControl As Control, _ Button As Integer, _ Shift As Integer, _ X As Single, Y As Single) Static OldX As Single Static OldY As Single If Not Button = 2 Then ' aktuelle Mausposition innerhalb ' des Controls merken OldX = X OldY = Y Else ' Wenn rechte Maus-Taste gedrückt wird ' Control an neue Mausposition verschieben With oControl .Move .Left + (X - OldX), .Top + (Y - OldY) .ZOrder End With End If End Sub Das war's dann auch schon. Ab sofort kann der Anwender die Controls auf der Form zur Laufzeit verschieben. Beispiel: Private Sub Command1_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MoveControl Command1, Button, Shift, X, Y End Sub Private Sub List1_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MoveControl List1, Button, Shift, X, Y End Sub Private Sub Label1_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MoveControl Label1, Button, Shift, X, Y End Sub Private Sub Frame1_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) MoveControl Frame1, Button, Shift, X, Y End Sub Dieser Tipp wurde bereits 19.234 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
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. Tipp des Monats Neu! sevPopUp 2.0 ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
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. |