vb, ¿por qué falla ClipCursor después de hacer clic?
Debería ser que la información RECT de la ventana ha sido cambiada, provocando el fallo.
Puedes restringirlo aún más para que el mouse no pueda tocar el borde del formulario. Prueba el siguiente código:
'dos comandos
Privado Declarar Sub ClipCursor. Lib "user32" (lpRect As Any)
Declaración privada Sub GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT)
Declaración privada Sub ClientToScreen Lib "user32" ( ByVal hWnd As Long , lpPoint As POINT)
Declaración privada Sub OffsetRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long)
Tipo privado RECT
izquierda Mientras tanto
arriba Mientras tanto
derecha Mientras tanto
abajo Mientras tanto
Tipo final p>
Tipo privado PUNTO
x Mientras
y Mientras tanto
Tipo final
Subcomando privado1_Click() ' Restringir el mouse p>
Atenuar cliente como RECT
Atenuar superior izquierda como PUNTO
GetClientRect Me.hWnd, cliente
superiorizquierda.x = cliente .left
Upperleft.y = client.top
ClientToScreen Me.hWnd, Upperleft
Cliente OffsetRect, Upperleft.x, Upperleft.y
Cliente ClipCursor
End Sub
Private Sub Command2_Click() 'Cancelar restricción
ClipCursor ByVal 0amp;
End Sub
Sub privado Form_Unload(Cancelar como entero) 'Liberar
ClipCursor ByVal 0amp;
End Sub