Rubrik: Maus & Tastatur · Maus | VB-Versionen: VB.NET | 18.06.08 |
Maus innerhalb oder außerhalb des Form-Clientbereichs Es werden die WM_MOUSEMOVE und WM_MOUSELEAVE Nachrichten verwendet um zu prüfen ob sich der Mauszeiger inner- oder außerhalb des Clientbereichs einer Form befindet. | ||
Autor: Heinz Prelle | Bewertung: | Views: 15.571 |
www.visual-basic5.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Durch Auswerten der Fensternachrichten "WM_MOUSEMOVE" und "WM_MOUSELEAVE" lässt sich prüfen, ob sich der Mauszeiger aktuell inner- oder außerhalb des Clientbereichs einer Form befindet.
Public Class Form1 ' Konstanten zur Anzeige der Testmeldungen Private Const InnerForm As String = _ "Die Maus befindet sich innerhalb des Client-Bereichs" Private Const OuterForm As String = _ "Die Maus befindet sich ausserhalb des Client-Bereichs" ''' <summary> ''' Prüfen ob sich der Mauszeiger inner- oder außerhalb des Client-Bereichs einer ''' Form befindet. Es wird die Mouse-Move und die Mouse-Leave Message ausgewertet. ''' </summary> Protected Overloads Overrides Sub WndProc(ByRef msg As Message) MyBase.WndProc(msg) Const WM_MOUSEMOVE As Int32 = &H200 Const WM_MOUSELEAVE As Int32 = &H2A3 Select Case msg.Msg ' Auswerten der Mouse-Move Nachricht ... Case WM_MOUSEMOVE ' ... es wird zum Testen eine Mitteilung ausgegeben. Me.lblInfo.Text = InnerForm Me.Cursor = Cursors.Hand ' Auswerten der Mouse-Leave Nachricht Case WM_MOUSELEAVE ' ... es wird zum Testen eine Mitteilung ausgegeben. Me.lblInfo.Text = OuterForm Me.Cursor = Cursors.[Default] End Select End Sub End Class