Mit diesem Tipp, ist es Ihnen fortan möglich, bei
bestimmten Aktionen, den Mauszugang auf einen vorbestimmten Bereich einzuschränken.
Dies kann recht nützlich sein, damit entfiele ggf. das Ausblenden von im Moment nicht
möglichen Aktionen, da die Maus ja nicht auf den entsprechenden Button zugreifen kann
o.ä.
Gehen Sie dazu folgender Maßen vor.
1. Anlegen eines neuen VB-Projektes
Anpassen der Formgröße an Ihre Vorstellung
2. Fügen Sie dem Abschnitt Allgemein/Deklarationen diesen Code hinzu.
Option Explicit
Dim dl&, fCHidden&, fCClipped&, fTxtHidIt&
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 Declare Function ClientToScreen& Lib "user32" (ByVal hwnd As Long,
lpPoint As POINTAPI)
Private Declare Function ClipCursor& Lib "user32" (lpRect As RECT)
Private Declare Function ClipCursorBynum& Lib "user32" Alias
"ClipCursor" (ByVal lpRect As Long)
Private Declare Function SetCursorPos& Lib "user32" (ByVal X As Long, ByVal
Y As Long)
3. Setzen Sie den Wert für die Form-Eigenschaft "ScaleMode" auf
"3-Pixel"
4. Fügen Sie der Form zwei Command-Button hinzu.
(Command1 & Command2)
Setzen Sie Command1.Caption auf "Aufheben" und Command2.Caption auf
"Setzen"
5. Fügen Sie Command1 in der Aktion Click folgenden Code hinzu.
If fCClipped& = True Then
dl& = ClipCursorBynum&(0)
fCClipped& = False
Form1.Refresh
End If
6. Fügen Sie Command2 in der Aktion Click folgenden Code hinzu.
Dim myRect As RECT, myPoint As POINTAPI
myPoint.X = 0
myPoint.Y = 0
dl& = ClientToScreen&(Form1.hwnd, myPoint)
myRect.Top = myPoint.Y
myRect.Left = myPoint.X
myRect.Right = myRect.Left + Form1.ScaleWidth
myRect.Bottom = myRect.Top + Form1.ScaleHeight
dl& = ClipCursor&(myRect)
fCClipped& = True
Form1.DrawWidth = 2
Form1.Line (1, 1)-(Form1.ScaleWidth - 1, Form1.ScaleHeight - 1), , B
Form1.DrawWidth = 1
7. Starten Sie das Projekt |