Der nachfolgende Tipp zeigt, wie man ¨uberpr¨uft, ob sich ein Punkt in einem Kreis befindet. Dazu werden die Koordinaten des Punktes in die Kreisgleichung eingesetzt.Wenn die Gleichung erf¨ullt ist, liegt der Punkt im Kreis. Die Kreisgleichung lautet: (x - xm)
Dazu ein Beispiel: Option Explicit Dim verschieben As Boolean ' -------------------------------- ' Kreis aufnehmen ' -------------------------------- Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) Dim xm As Double Dim ym As Double Dim r As Double ' -------------------------------- ' Kreisdefinition ' -------------------------------- ' Mittelpunktskoordinaten xm = Shape1.Left + Shape1.Width / 2 ym = Shape1.Top + Shape1.Height / 2 ' Radius ' = die kleinere Ausdehnung If Shape1.Width > Shape1.Height Then r = Shape1.Height / 2 Else r = Shape1.Width / 2 End If ' -------------------------------- ' wurde in den Kreis geklickt? ' -------------------------------- If (X - xm) ^ 2 + (Y - ym) ^ 2 <= r ^ 2 Then verschieben = True End If End Sub ' -------------------------------- ' Kreis verschieben ' -------------------------------- Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single) If verschieben = True Then Shape1.Left = X - Shape1.Width / 2 Shape1.Top = Y - Shape1.Height / 2 End If End Sub ' -------------------------------- ' Kreis ablegen ' -------------------------------- Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, _ X As Single, Y As Single) If verschieben = True Then Shape1.Left = X - Shape1.Width / 2 Shape1.Top = Y - Shape1.Height / 2 ' Flag zuruecksetzen verschieben = False End If End Sub Dieser Tipp wurde bereits 15.889 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. |
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... Tipp des Monats TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||||||||||||||
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. |