è importantissimo che metti anche la routine dell'unloadcodice:Option Explicit Private Declare Function SetWindowPos Lib "user32" _ (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, _ ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _ ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function GetClientRect Lib "user32" (ByVal hWnd As Long, _ lpRect As RECT) As Long Private Declare Function ClientToScreen Lib "user32" (ByVal hWnd As Long, _ lpPoint As Any) As Long Private Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long Const HWND_TOPMOST = -1 Const HWND_NOTTOPMOST = -2 Const SWP_NOSIZE = 1 Const SWP_NOMOVE = 2 Private flags As Integer Private lResult As Long Private Type RECT Left As Long Top As Long Right As Long Bottom As Long End Type Sub ClipMouseToWindow(Optional ByVal hWnd As Long) Dim rcTarg As RECT If hWnd Then 'clip GetClientRect hWnd, rcTarg ClientToScreen hWnd, rcTarg ClientToScreen hWnd, rcTarg.Right ClipCursor rcTarg Else 'no clip ClipCursor ByVal 0& End If End Sub Private Sub Form_Load() flags = SWP_NOSIZE Or SWP_NOMOVE lResult = SetWindowPos(Form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0, flags) ClipMouseToWindow Me.hWnd End Sub Private Sub Form_Unload(Cancel As Integer) ClipMouseToWindow End Sub

Rispondi quotando