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.892 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 TOP! Unser Nr. 1 ![]() Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||||||||||||||
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. |