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 6.245 mal aufgerufen.
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv (einschl. Beispielprojekt!) Ein absolutes Muss - Mehr als 650 MByte geballtes Wissen! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - Online-Update-Funktion u.v.m. |
Neu! 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 Dieter Otter Doppelte Werte bei Ausgabe eines Arrays unterdrücken Hier stellen wir 3 Möglichkeiten vor, wie man doppelte Werte bei der Ausgabe eines Arrays unterdrücken kann. sevPopUp 1.0 DLL ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP oder Vista) 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. |
|||||||||||||||||


MouseIn/MouseOut für Form-Objekte



