Nachfolgender Tipp zeigt, wie sich ermitteln lässt, ob sich der Mauszeiger aktuell innerhalb oder außerhalb der Form befindet. Hierzu benötigen wir zunächst einen Timer mit niedrigem Intervall. Über die API-Funktion GetCursorPos ermitteln wir dann die aktuelle Mauszeiger-Position. Um nun zu prüfen, ob sich der Mauszeiger innerhalb der Form befindet, verwenden wir die API-Funktion PtInRect. Erstellen Sie ein neues Projekt und platzieren Sie auf die Form ein Timer-Control, sowie ein Label-Control. Option Explicit ' Benötigte API-Deklarationen Private Declare Function GetCursorPos Lib "user32" ( _ lpPoint As POINTAPI) As Long Private Declare Function PtInRect Lib "user32" ( _ lpRect As RECT, _ ByVal x As Long, _ ByVal y As Long) As Long Private Declare Function GetWindowRect Lib "user32" ( _ ByVal hwnd As Long, _ lpRect As RECT) As Long Private Type POINTAPI x As Long y As Long End Type Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Private Sub Form_Load() ' Timer initialisieren Timer1.Interval = 50 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Dim P As POINTAPI Dim R As RECT ' akuelle Mauszeiger-Position ermitteln GetCursorPos P ' Position und Größe der Form GetWindowRect Me.hwnd, R ' Befindet sich der Mauszeiger innerhalb der Form? If PtInRect(R, P.x, P.y) = 0 Then Label1.Caption = "Maus außerhalb der Form!" Else Label1.Caption = "Maus innerhalb der Form!" End If End Sub Dieser Tipp wurde bereits 17.178 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. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Dieter Otter sevTabStrip: Rechtsklick auf Reiter erkennen Eine Funktion, mit der sich prüfen lässt, auf welchen Tab-Reiter ein Mausklick erfolgte sevWizard für VB5/6 ![]() Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) |
||||||||||||||||
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. |